Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 9061 in orxonox.OLD for trunk/src/world_entities/player.cc


Ignore:
Timestamp:
Jul 3, 2006, 6:39:10 PM (19 years ago)
Author:
patrick
Message:

merged the single_player branche to trunk

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/world_entities/player.cc

    r9019 r9061  
    3232Player::Player()
    3333{
    34 //  this->setRelDir(Quaternion(M_PI, Vector(1,0,0)));
     34  //  this->setRelDir(Quaternion(M_PI, Vector(1,0,0)));
    3535  this->setClassID(CL_PLAYER, "Player");
    3636
     
    7474  {
    7575    PRINTF(4)("Enter new Playable\n");
    76       this->playable = playable;
    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());
    7979
    80       this->playable->setPlayer(this);
    81       return true;
     80    this->playable->setPlayer(this);
     81    return true;
    8282  }
    8383
     
    8989
    9090bool Player::eject()
    91  {
    92    return this->setPlayable(NULL);
    93  }
     91{
     92  return this->setPlayable(NULL);
     93}
    9494
    9595
     
    9999 }
    100100
    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 ObjectManager
    106      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        {
    113101
    114          this->setPlayable(dynamic_cast<Playable*>(*node));
     102void 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      {
    115113
    116          break;
    117        }
    118      }
    119    }
     114        this->setPlayable(dynamic_cast<Playable*>(*node));
    120115
    121    if (likely(this->playable != NULL))
    122      this->playable->process(event);
    123  }
     116        break;
     117      }
     118  }
     119}
    124120
     121
     122void 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.