This is HState.h in view mode; [Download] [Up]
// // $Id: HState.h,v 1.2 1997/10/31 03:38:25 nygard Exp $ // // // This file is a part of Empire, a game of exploration and conquest. // Copyright (C) 1996 Steve Nygard // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // // You may contact the author by: // e-mail: nygard@telusplanet.net // #import <AppKit/AppKit.h> #import "Empire.h" #define HS_COMBAT_REPORT @"HCombatReportState" #define HS_DIRECTION @"HDirectionState" #define HS_ESCORT_SHIP @"HEscortShipState" #define HS_FLIGHT_PATH @"HFlightPathState" #define HS_IDLE @"HIdleState" #define HS_INITIAL @"HInitialState" #define HS_MOVE @"HMoveState" #define HS_MOVE_TO @"HMoveToState" #define HS_PATROL_TO @"HPatrolToState" #define HS_PRODUCTION @"HProductionState" #define HS_SET_FLIGHT_PATH @"HSetFlightPathState" #define HS_SURVEY @"HSurveyState" #define HS_GAME_OVER @"HGameOverState" @class City; @class GameManager; @class Human; @class MapView; @class Unit; @interface HState : NSObject { GameManager *gameManager; // Support for a single square marquee EMMapLocation marqueeLocation; NSTimer *marqueeTimer; int offset; } - initWithGameManager:(GameManager *)theGameManager; - (void) dealloc; - (void) continueWithContext:(Human *)context; //====================================================================== // Subclass responsibilities //====================================================================== - (NSString *) stateName; - (NSString *) stateKey; - (void) stateEntered:(Human *)context; - (void) stateExited:(Human *)context; - (void) beginTurn:(Human *)context; - (void) endTurn:(Human *)context; - (void) continue:(Human *)context; - (void) mouseDown:(Human *)context:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) mouseUp:(Human *)context:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) rightMouseDown:(Human *)context:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) rightMouseUp:(Human *)context:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) keyDown:(Human *)context:(NSEvent *)theEvent; - (void) combatReport:(Human *)context; - (void) showFinalMap:(Human *)context forPlayer:(Player)number; //====================================================================== // Commands //====================================================================== - (void) moveMode:(Human *)context; - (void) surveyMode:(Human *)context; - (void) groupMode:(Human *)context; - (void) wait:(Human *)context unit:(Unit *)aUnit; - (void) flightPathMode:(Human *)context; - (void) activate:(Human *)context unit:(Unit *)aUnit; - (void) centerScreen:(Human *)context mapView:(MapView *)mapView; - (void) centerCursor:(Human *)context mapView:(MapView *)mapView; - (void) centerSelected:(Human *)context mapView:(MapView *)mapView; - (void) productionMap:(Human *)context; //====================================================================== // Orders //====================================================================== - (void) goDirection:(Human *)context; - (void) goHome:(Human *)context unit:(Unit *)aUnit; - (void) goRandom:(Human *)context unit:(Unit *)aUnit; - (void) moveTo:(Human *)context; - (void) patrolTo:(Human *)context; - (void) escortShip:(Human *)context; - (void) explore:(Human *)context unit:(Unit *)unit; - (void) sentry:(Human *)context unit:(Unit *)aUnit; - (void) clearOrders:(Human *)context unit:(Unit *)aUnit; - (void) clearOrders:(Human *)context city:(City *)aCity; - (void) loadShip:(Human *)context unit:(Unit *)aUnit; - (void) unloadShip:(Human *)context unit:(Unit *)aUnit; - (void) skipMove:(Human *)context unit:(Unit *)aUnit; //====================================================================== // Interface Management //====================================================================== - (BOOL) validateMenuItem:(Human *)context:(NSMenuItem *)menuCell; - (void) cityProductionChanged:(Human *)context city:(City *)theCity; - (void) selectThing:(Human *)context atLocation:(EMMapLocation)target andInspect:(BOOL)inspectFlag; //====================================================================== // Marquee //====================================================================== - (void) showMarquee:(NSTimer *)aTimer; - (void) showMarquee:(Human *)context atLocation:(EMMapLocation)target; - (void) stopMarquee:(Human *)context; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.