Changeset 2826 for code/trunk/src/orxonox/objects/gametypes/Gametype.cc
- Timestamp:
- Mar 23, 2009, 12:02:49 PM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/miniprojects (added) merged: 2755,2768,2789,2806,2818-2821,2824
- Property svn:mergeinfo changed
-
code/trunk/src/orxonox/objects/gametypes/Gametype.cc
r2710 r2826 44 44 #include "objects/worldentities/Camera.h" 45 45 46 #include "network/Host.h"47 48 46 namespace orxonox 49 47 { … … 65 63 66 64 this->setConfigValues(); 67 68 this->addBots(this->numberOfBots_);69 65 70 66 // load the corresponding score board … … 105 101 void Gametype::start() 106 102 { 107 COUT(0) << "game started" << std::endl; 103 this->addBots(this->numberOfBots_); 104 108 105 this->gtinfo_.bStarted_ = true; 109 106 … … 113 110 void Gametype::end() 114 111 { 115 COUT(0) << "game ended" << std::endl;116 112 this->gtinfo_.bEnded_ = true; 117 113 } … … 120 116 { 121 117 this->players_[player].state_ = PlayerState::Joined; 122 123 std::string message = player->getName() + " entered the game"; 124 COUT(0) << message << std::endl; 125 Host::Broadcast(message); 126 } 127 128 void Gametype::playerLeft(PlayerInfo* player) 118 } 119 120 bool Gametype::playerLeft(PlayerInfo* player) 129 121 { 130 122 std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player); … … 132 124 { 133 125 this->players_.erase(it); 134 135 std::string message = player->getName() + " left the game"; 136 COUT(0) << message << std::endl; 137 Host::Broadcast(message); 138 } 126 return true; 127 } 128 return false; 139 129 } 140 130 … … 147 137 } 148 138 149 voidGametype::playerChangedName(PlayerInfo* player)139 bool Gametype::playerChangedName(PlayerInfo* player) 150 140 { 151 141 if (this->players_.find(player) != this->players_.end()) … … 153 143 if (player->getName() != player->getOldName()) 154 144 { 155 std::string message = player->getOldName() + " changed name to " + player->getName(); 156 COUT(0) << message << std::endl; 157 Host::Broadcast(message); 158 } 159 } 145 return true; 146 } 147 } 148 return false; 160 149 } 161 150 … … 168 157 } 169 158 159 void Gametype::playerPreSpawn(PlayerInfo* player) 160 { 161 } 162 163 void Gametype::playerPostSpawn(PlayerInfo* player) 164 { 165 } 166 167 void Gametype::playerStartsControllingPawn(PlayerInfo* player, Pawn* pawn) 168 { 169 } 170 171 void Gametype::playerStopsControllingPawn(PlayerInfo* player, Pawn* pawn) 172 { 173 } 174 175 bool Gametype::allowPawnHit(Pawn* victim, Pawn* originator) 176 { 177 return true; 178 } 179 180 bool Gametype::allowPawnDamage(Pawn* victim, Pawn* originator) 181 { 182 return true; 183 } 184 185 bool Gametype::allowPawnDeath(Pawn* victim, Pawn* originator) 186 { 187 return true; 188 } 189 170 190 void Gametype::pawnKilled(Pawn* victim, Pawn* killer) 171 191 { 172 if (victim && victim->getPlayer())173 {174 std::string message;175 if (killer)176 {177 if (killer->getPlayer())178 message = victim->getPlayer()->getName() + " was killed by " + killer->getPlayer()->getName();179 else180 message = victim->getPlayer()->getName() + " was killed";181 }182 else183 message = victim->getPlayer()->getName() + " died";184 185 COUT(0) << message << std::endl;186 Host::Broadcast(message);187 }188 189 192 if (victim && victim->getPlayer()) 190 193 { … … 197 200 // Reward killer 198 201 if (killer) 199 { 200 std::map<PlayerInfo*, Player>::iterator itKiller = this->players_.find(killer->getPlayer()); 201 if (itKiller != this->players_.end()) 202 { 203 this->playerScored(itKiller->second); 204 } 205 else 206 COUT(2) << "Warning: Killing Pawn was not in the playerlist" << std::endl; 207 } 202 this->playerScored(killer->getPlayer()); 208 203 209 204 ControllableEntity* entity = this->defaultControllableEntity_.fabricate(victim->getCreator()); … … 225 220 } 226 221 227 void Gametype::playerScored(Player& player) 228 { 229 player.frags_++; 222 void Gametype::playerScored(PlayerInfo* player) 223 { 224 std::map<PlayerInfo*, Player>::iterator it = this->players_.find(player); 225 if (it != this->players_.end()) 226 it->second.frags_++; 230 227 } 231 228 … … 336 333 if (spawnpoint) 337 334 { 335 this->playerPreSpawn(player); 338 336 player->startControl(spawnpoint->spawn()); 339 337 this->players_[player].state_ = PlayerState::Alive; 338 this->playerPostSpawn(player); 340 339 } 341 340 else
Note: See TracChangeset
for help on using the changeset viewer.