Changeset 7947 in orxonox.OLD for branches/cr
- Timestamp:
- May 29, 2006, 1:12:19 AM (19 years ago)
- Location:
- branches/cr/src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/cr/src/lib/collision_reaction/collision_handle.cc
r7946 r7947 102 102 // now set state to dispatched 103 103 this->bDispatched = true; 104 this->bCollided = false; 104 105 this->flushCollisions(); 105 106 } -
branches/cr/src/lib/collision_reaction/collision_handle.h
r7946 r7947 31 31 void addTarget(long classID); 32 32 void registerCollision(Collision* collision); 33 /** @returns true if regiestered some new collision events in this tick frame */ 34 inline bool isCollided() const { return this->bCollided; } 33 35 34 36 void handleCollisions(); … … 45 47 bool bDispatched; //!< true if this handle has already been dispatched 46 48 bool bStopOnFirstCollision; //!< true if the cd of this object should be terminated after one match 49 bool bCollided; //!< true if the CollsionHandle has registered some new collisions 47 50 48 51 std::vector<Collision*> collisionList; //!< a list full of collisions -
branches/cr/src/lib/collision_reaction/cr_engine.cc
r7946 r7947 115 115 116 116 void CREngine::handleCollisions() 117 {} 117 { 118 std::vector<CollisionHandle*>::iterator it; 119 for( it = this->collisionHandles.begin(); it != this->collisionHandles.end(); it++) 120 { 121 if( (*it)->isCollided()) 122 { 123 (*it)->handleCollisions(); 124 } 125 } 126 } 118 127 119 128 -
branches/cr/src/story_entities/game_world.cc
r7919 r7947 278 278 /* process time */ 279 279 this->tick (); 280 /* process collision */ 281 this->collide (); 280 /* collision detection */ 281 this->collisionDetection (); 282 /* collision reaction */ 283 this->collisionReaction (); 282 284 /* update the state */ 283 285 this->update (); … … 408 410 * kicks the CDEngine to detect the collisions between the object groups in the world 409 411 */ 410 void GameWorld::colli de()412 void GameWorld::collisionDetection() 411 413 { 412 414 CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_GROUP_00), … … 422 424 this->dataTank->objectManager->getObjectList(OM_COMMON)); 423 425 426 } 427 428 429 void GameWorld::collisionReaction() 430 { 431 CREngine::getInstance()->handleCollisions(); 424 432 } 425 433 -
branches/cr/src/story_entities/game_world.h
r7919 r7947 68 68 virtual void update(); 69 69 virtual void checkGameRules(); 70 virtual void collide(); 70 virtual void collisionDetection(); 71 virtual void collisionReaction(); 71 72 72 73 void drawEntityList(const ObjectManager::EntityList& drawList ) const;
Note: See TracChangeset
for help on using the changeset viewer.