Changeset 9061 in orxonox.OLD for trunk/src/world_entities/player.cc
- Timestamp:
- Jul 3, 2006, 6:39:10 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/player.cc
r9019 r9061 32 32 Player::Player() 33 33 { 34 // this->setRelDir(Quaternion(M_PI, Vector(1,0,0)));34 // this->setRelDir(Quaternion(M_PI, Vector(1,0,0))); 35 35 this->setClassID(CL_PLAYER, "Player"); 36 36 … … 74 74 { 75 75 PRINTF(4)("Enter new Playable\n"); 76 77 this->_hud.setEnergyWidget(this->playable->getHealthWidget());78 this->_hud.setWeaponManager(&this->playable->getWeaponManager());76 this->playable = playable; 77 this->hud.setEnergyWidget(this->playable->getHealthWidget()); 78 this->hud.setWeaponManager(&this->playable->getWeaponManager()); 79 79 80 81 80 this->playable->setPlayer(this); 81 return true; 82 82 } 83 83 … … 89 89 90 90 bool Player::eject() 91 92 93 91 { 92 return this->setPlayable(NULL); 93 } 94 94 95 95 … … 99 99 } 100 100 101 void Player::process(const Event &event)102 {103 if (event.type == KeyMapper::PEV_CHANGE_SHIP && event.bPressed)104 {105 /// FIXME this should be in the ObjectManager106 const std::list<BaseObject*>* objectList = ClassList::getList(CL_PLAYABLE);107 if (objectList != NULL)108 {109 std::list<BaseObject*>::const_iterator node;110 for (node = objectList->begin(); node != objectList->end(); node++)111 if (this->playable != (*node) && (dynamic_cast<PNode*>(*node)->getAbsCoor() - this->playable->getAbsCoor()).len() < 10.0)112 {113 101 114 this->setPlayable(dynamic_cast<Playable*>(*node)); 102 void Player::enterNewPlayable() 103 { 104 /// FIXME this should be in the ObjectManager 105 const std::list<BaseObject*>* objectList = ClassList::getList(CL_PLAYABLE); 106 if (objectList != NULL) 107 { 108 std::list<BaseObject*>::const_iterator node; 109 for (node = objectList->begin(); node != objectList->end(); node++) 110 if (this->playable != (*node) && 111 (dynamic_cast<PNode*>(*node)->getAbsCoor() - this->playable->getAbsCoor()).len() < (dynamic_cast<Playable*>(*node)->getEnterRadius())) 112 { 115 113 116 break; 117 } 118 } 119 } 114 this->setPlayable(dynamic_cast<Playable*>(*node)); 120 115 121 if (likely(this->playable != NULL)) 122 this->playable->process(event); 123 } 116 break; 117 } 118 } 119 } 124 120 121 122 void Player::process(const Event &event) 123 { 124 if (event.type == KeyMapper::PEV_CHANGE_SHIP && event.bPressed) 125 { 126 this->enterNewPlayable(); 127 } 128 129 if (likely(this->playable != NULL)) 130 this->playable->process(event); 131 } 132
Note: See TracChangeset
for help on using the changeset viewer.