Changeset 8801 in orxonox.OLD for branches/network/src/world_entities/spawning_point.cc
- Timestamp:
- Jun 26, 2006, 4:30:31 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/network/src/world_entities/spawning_point.cc
r8798 r8801 24 24 #include "compiler.h" 25 25 26 #include <map> 26 #include "state.h" 27 #include "game_rules.h" 27 28 28 29 … … 107 108 void SpawningPoint::pushEntity(WorldEntity* entity, float delay) 108 109 { 109 this->queue[entity] = this->localTimer + delay; 110 QueueEntry qe; 111 qe.entity = entity; 112 qe.list = entity->getOMListNumber(); 113 qe.respawnTime = this->localTimer + delay; 114 115 queue.push_back( qe ); 110 116 } 111 117 … … 119 125 120 126 121 //BaseObject* spawningEntity = Factory::fabricate(this->classID); 122 // if( likely(this->world != NULL)) 123 // this->world->spawn(dynamic_cast<WorldEntity*>(spawningEntity)); 127 entity->setAbsCoor( this->getAbsCoor() ); 128 entity->setAbsDir( this->getAbsDir() ); 129 130 //TODO set camera (not smooth) 124 131 } 125 132 … … 135 142 this->localTimer += dt; 136 143 137 std:: map<WorldEntity*, float>::iterator it = this->queue.begin();138 for( ; it != this->queue.end(); it++)144 std::list<QueueEntry>::iterator it = this->queue.begin(); 145 for( ; it != this->queue.end(); ) 139 146 { 140 //141 if( it-> second<= this->localTimer)147 148 if( it->respawnTime <= this->localTimer) 142 149 { 143 150 //spawn the player 144 this->spawn(it->first); 151 this->spawn(it->entity); 152 153 it->entity->toList( it->list ); 154 155 if ( State::getGameRules() ) 156 { 157 (State::getGameRules())->registerSpawn( it->entity ); 158 } 159 160 std::list<QueueEntry>::iterator delit = it; 161 it++; 162 163 queue.erase( delit ); 164 165 continue; 145 166 } 167 168 it++; 146 169 } 147 170
Note: See TracChangeset
for help on using the changeset viewer.