This is EmpireProtocols.h in view mode; [Download] [Up]
// // $Id: EmpireProtocols.h,v 1.7 1997/10/31 04:51:49 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 "Empire.h" @class City; @class GameManager; @class Map; //---------------------------------------------------------------------- // The version should change so that applications with incompatible // protocols will not try to communicate. //---------------------------------------------------------------------- #define SERVER_PORT_NAME @"Empire Game Server v1" @protocol EmpireBaseProtocol - (void) ping; - (void) aboutToDisconnect:(in id)sender; // connection doesn't become invalid until data sent through... @end //====================================================================== @protocol EmpireClientConnectionProtocol <EmpireBaseProtocol> - (oneway void) choosePlayer:(Player)number forMap:(bycopy in Map *)worldMap master:(in id)masterGameManager; @end //====================================================================== @protocol EmpireServerConnectionProtocol <EmpireBaseProtocol> - (void) client:(in id)clientController onHost:(in NSString *)hostname; @end //====================================================================== @protocol EmpireGameManagerProtocol <EmpireBaseProtocol> //---------------------------------------------------------------------- // Game Initialization / Termination //---------------------------------------------------------------------- - (bycopy City *) remoteRandomNeutralCity; - (oneway void) peer:(in id)ClientGameManager forPlayer:(Player)number; - (oneway void) remoteUpdateMapAroundCitiesForPlayer:(Player)number; - (oneway void) remoteGameHasStopped:(Player)number activePlayers:(int)activePlayers; - (bycopy Map *) remoteFetchMapForPlayer:(Player)number; - (oneway void) otherMaps:(in bycopy Map *)map1:(in bycopy Map *)map2 forPlayer:(Player)number; //---------------------------------------------------------------------- // Turn Management //---------------------------------------------------------------------- - (oneway void) remoteTurn:(int)turn withCookie:(in NSNumber *)aCookie forPlayer:(Player)number; - (oneway void) remoteTurnDone:(in NSNumber *)aCookie forPlayer:(Player)number updatedMap:(in bycopy Map *)newMap; //---------------------------------------------------------------------- // Combat Support //---------------------------------------------------------------------- - (MoveResult) remoteUnitWithCombatProfile:(CombatProfile)attackerProfile attacksPlayer:(Player)cityPlayer cityAtLocation:(EMMapLocation)target playersAdjacentToDefender:(int)adjacentPlayers; - (MoveResult) remoteUnitWithCombatProfile:(CombatProfile)attackerProfile attacksPlayer:(Player)defender unitAtLocation:(EMMapLocation)target withBombardment:(BOOL)bombarding playersAdjacentToDefender:(int)adjacentPlayers; - (CombatProfile) remoteReadyDefendingCityAtLocation:(EMMapLocation)target forPlayer:(Player)player; - (CombatProfile) remoteReadyDefendingUnitAtLocation:(EMMapLocation)target forPlayer:(Player)number againstBombardment:(BOOL)bombarding; - (oneway void) remoteShowExplosions:(int)count forPlayer:(Player)number atLocation:(EMMapLocation)target; - (oneway void) remoteHitDefendingUnit:(Player)number withDamage:(int)damage; - (bycopy City *) remoteLostDefendingCityOfPlayer:(Player)number; - (oneway void) remoteHitAttacker:(Player)number withDamage:(int)damage; - (void) remotePlayer:(Player)number hasCapturedCity:(in bycopy City *)capturedCity; - (void) remoteFinishedCombatForPlayer:(Player)number; - (BOOL) remoteCheckForEndOfPlayer:(Player)number; - (BOOL) remoteHasPlayerLost:(Player)number; - (oneway void) remotePlayerHasLost:(Player)number activePlayers:(int)activePlayers; - (BOOL) remotePlayerHasWon:(Player)number activePlayers:(int)activePlayers; - (oneway void) remoteSet3x3Tokens:(struct NineTokens)tokens aroundLocation:(EMMapLocation)target forPlayer:(Player)number; - (oneway void) remoteSetToken:(MapToken)token atLocation:(EMMapLocation)target forPlayer:(Player)number; - (void) remoteResignPlayerFromGame:(Player)number; // Not oneway - (bycopy NSArray *) remoteRemainingCitiesForPlayer:(Player)number; - (void) remotePlayerHasResigned:(Player)number activePlayers:(int)activePlayers; - (bycopy Map *) remoteFinalMapForPlayer:(Player)number; - (oneway void) remoteNotifyPlayer:(Player)number aPlayerHasResigned:(Player)resignedPlayer; @end //====================================================================== @protocol EmpireClientHostNotification - (void) newClientHost:(NSString *)hostname; - (void) removedClientHostNumber:(int)index; @end //====================================================================== // MapView Delegate //====================================================================== @protocol MapViewDelegate - (void) mouseDown:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) mouseUp:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) rightMouseDown:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) rightMouseUp:(unsigned int)modifierFlags atLocation:(EMMapLocation)target; - (void) keyDown:(NSEvent *)theEvent; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.