Changeset 9507 in orxonox.OLD
- Timestamp:
- Jul 27, 2006, 1:59:30 PM (18 years ago)
- Location:
- branches/proxy/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/proxy/src/lib/network/message_manager.h
r9494 r9507 26 26 27 27 28 //!< different message ids 28 29 enum MessageId 29 30 { 30 TESTMESSAGEID = 1, 31 MSGID_DELETESYNCHRONIZEABLE, 32 MSGID_PREFEREDTEAM, 33 MSGID_CHANGENICKNAME, 34 MSGID_CHATMESSAGE, 35 MSGID_RESPAWN 31 TESTMESSAGEID = 1, //!< for testing purposes 32 MSGID_DELETESYNCHRONIZEABLE, //!< message for sync deletion 33 MSGID_PREFEREDTEAM, //!< change prefered team 34 MSGID_CHANGENICKNAME, //!< change nicknames 35 MSGID_CHATMESSAGE, //!< chat message 36 MSGID_RESPAWN, //!< respawn message 37 38 MSGID_FORWARDMESSAGE //!< forwarding a messag between proxy and master server 36 39 }; 40 37 41 38 42 typedef bool (*MessageCallback)( MessageId messageId, byte * data, int dataLength, void * someData, int userId ); -
branches/proxy/src/lib/network/network_game_manager.cc
r9503 r9507 272 272 void NetworkGameManager::prefereTeam( int teamId ) 273 273 { 274 if ( SharedNetworkData::getInstance()->isMasterServer() /*|| SharedNetworkData::getInstance()->isProxyServerActive()*/)275 setPreferedTeam( SharedNetworkData::getInstance()->getHostID(), teamId );274 if ( SharedNetworkData::getInstance()->isMasterServer() ) 275 this->setPreferedTeam( SharedNetworkData::getInstance()->getHostID(), teamId ); 276 276 else 277 277 { … … 280 280 assert( Converter::intToByteArray( teamId, buf, INTSIZE) == INTSIZE ); 281 281 282 MessageManager::getInstance()->sendMessage( MSGID_PREFEREDTEAM, buf, INTSIZE, RT_USER, 0, MP_HIGHBANDWIDTH ); 282 // send this message to the master server 283 MessageManager::getInstance()->sendMessage( MSGID_PREFEREDTEAM, buf, INTSIZE, RT_USER, NET_ID_MASTER_SERVER, MP_HIGHBANDWIDTH ); 283 284 } 284 285 } -
branches/proxy/src/lib/network/player_stats.cc
r9505 r9507 107 107 this->oldNickName = nickName; 108 108 } 109 110 if ( std::find( id.begin(), id.end(), teamId_handle ) != id.end() )111 {112 PRINTF(0)("user %s joins team %i\n", this->nickName.c_str(), this->teamId);113 this->setPreferedTeamIdHandler( this->teamId);114 }115 116 }117 118 119 /**120 * handler for setting the prefered team id121 * @param newTeamId: the new team id122 */123 void PlayerStats::setPreferedTeamIdHandler( int newTeamId)124 {125 126 if( this->playable == NULL)127 {128 PRINTF(0)("could not set prefered team, since the playable is not yet set\n");129 return;130 }131 132 this->playable->setTeam(newTeamId);133 109 } 134 110 … … 189 165 State::getPlayer()->setPlayable( this->playable ); 190 166 // also set the team id 191 this->playable->setTeam(this->getTeamId());192 167 } 193 168 -
branches/proxy/src/lib/network/player_stats.h
r9505 r9507 47 47 inline void setTeamId( int teamId ){ this->teamId = teamId; } 48 48 49 void setPreferedTeamIdHandler( int newTeamId);50 49 inline int getPreferedTeamId(){ return preferedTeamId; } 51 50 inline void setPreferedTeamId( int preferedTeamId ) { this->preferedTeamId = preferedTeamId; } -
branches/proxy/src/world_entities/playable.cc
r9500 r9507 68 68 69 69 70 this->teamChangeHandler = registerVarId( new SynchronizeableInt( &this->teamId, &this->teamId, "team-id" ) ); 70 71 registerVar( new SynchronizeableInt( &score, &score, "score" ) ); 71 72 registerVar( new SynchronizeableBool( &bFire, &bFire, "bFire", PERMISSION_OWNER)); … … 524 525 "FirstPerson" 525 526 }; 527 528 529 /** 530 * handler for changes on registred vars 531 * @param id id's which changed 532 */ 533 void Playable::varChangeHandler( std::list< int > & id ) 534 { 535 if ( std::find( id.begin(), id.end(), this->teamChangeHandler) != id.end() ) 536 { 537 this->setTeam(this->teamId); 538 } 539 540 WorldEntity::varChangeHandler(id); 541 } -
branches/proxy/src/world_entities/playable.h
r9501 r9507 11 11 #include "event.h" 12 12 #include <vector> 13 #include <list> 13 14 14 15 #include "world_entities/weapons/weapon_manager.h" … … 43 44 44 45 virtual void loadParams(const TiXmlElement* root); 46 void varChangeHandler( std::list< int > & id ); 45 47 46 48 // Weapon and Pickups … … 61 63 /** @return a List of Events in PEV_* sytle */ 62 64 inline const std::vector<int>& getEventList() { return this->events; }; 63 virtual void setTeam(int teamID);64 65 65 66 … … 77 78 inline void setScore( int score ) { this->score = score; } 78 79 inline int getScore() { return this->score; } 80 inline void setTeamId( int teamId) { this->teamId = teamId;} 81 inline int getTeamId() const { return this->teamId; } 82 virtual void setTeam(int teamID); 83 79 84 80 85 void setEnterRadius(float radius) { this->enterRadius = radius; }; … … 121 126 122 127 int score; //!< players score 128 int teamChangeHandler; //!< handler id for team changes network sync 129 int teamId; //!< id of the current team 123 130 124 131 bool bDead; … … 128 135 float enterRadius; //!< How far one can be away from the Playable to enter it. 129 136 130 WorldEntity* collider;137 WorldEntity* collider; 131 138 }; 132 139 -
branches/proxy/src/world_entities/space_ships/turbine_hover.cc
r9502 r9507 276 276 else if (teamID == 1) 277 277 this->setBoostColor(Color::red); 278 279 // set the local team id, very important 280 this->setTeamId(teamID); 278 281 } 279 282
Note: See TracChangeset
for help on using the changeset viewer.