This is City.h in view mode; [Download] [Up]
// // $Id: City.h,v 1.8 1997/10/31 04:51:33 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 <Foundation/NSPortCoder.h> #import "Empire.h" @class EmPlayer; @class Map; @class MapView; @class OMoveTo; @class PathSegment; @class Unit; //====================================================================== @interface City : NSObject { EMMapLocation cityLocation; BOOL port; // Is this city on a body of water? NSString *cityName; EmPlayer *owner; NSMutableArray *cityUnits; UnitType productionType; BOOL firstUnit; int turnsUntilConstructed; NSMutableArray *observers; OMoveTo *flightPath; } + (void) initialize; - initAtLocation:(EMMapLocation)cityLocation ofMap:(Map *)map; - (void) dealloc; - (void) encodeWithCoder:(NSCoder *)aCoder; - initWithCoder:(NSCoder *)aDecoder; - replacementObjectForPortCoder:(NSPortCoder *)encoder; - (NSString *) description; - (EMMapLocation) cityLocation; - (BOOL) isAPort; - (NSString *) cityName; - (void) setCityName:(NSString *)aName; - (EmPlayer *) owner; - (void) setOwner:(EmPlayer *)aPlayer; - (int) productionEfficiency; - (float) productionTimeMultiplier; - (int) turnsToConstruct:(int *)turnArray; - (void) defaultTurnsToConstruct:(int *)turnArray; - (NSArray *) cityUnits; - (UnitType) productionType; - (void) setProduction:(UnitType)productionType; //====================================================================== // Turn phases //====================================================================== - (void) startOfTurn; //====================================================================== // ObserverPattern //====================================================================== - (void) attach:observer; - (void) detach:observer; - (void) unitDidExit:(Unit *)aUnit; - (void) unitDidEnter:(Unit *)aUnit; - (void) cityWasLost; - (void) unitIconHasChanged:(Unit *)aUnit; - (PathSegment *) flightPathInMapView:(MapView *)mapView; - (void) setFlightPath:(OMoveTo *)flightPath; @end //====================================================================== @interface City (Extensions) - (NSString *) attributesInspectorClassName; - (NSString *) unitsInspectorClassName; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.