Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 6442 in orxonox.OLD for trunk/src/util


Ignore:
Timestamp:
Jan 8, 2006, 5:19:39 PM (19 years ago)
Author:
bensch
Message:

Gui Shows weapons (simple)

Location:
trunk/src/util
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/util/hud.cc

    r6441 r6442  
    2020#include "state.h"
    2121
     22#include "world_entities/weapons/weapon_manager.h"
     23
    2224using namespace std;
    2325
     
    3234
    3335  //this->setSize2D(
     36  this->weaponManager = NULL;
    3437  this->energyWidget = NULL;
    3538  this->shieldWidget = NULL;
     
    3740  this->resX = 1;
    3841  this->resY = 1;
     42
    3943}
    4044
     
    5155void Hud::loadParams(const TiXmlElement* root)
    5256{
    53 
    5457}
    5558
    5659void Hud::setBackGround()
    5760{
    58 
    5961}
    6062
     
    7880void Hud::setShiledWidget(GLGuiWidget* widget)
    7981{
    80 
    8182}
    8283
    8384void Hud::setArmorWidget(GLGuiWidget* widget)
    8485{
     86}
    8587
     88void Hud::setWeaponManager(WeaponManager* weaponMan)
     89{
     90  if (this->weaponManager != NULL)
     91  {
     92    for (unsigned int i = 0; i < this->weaponManager->getSlotCount(); i++)
     93    {
     94      Weapon* weapon = this->weaponManager->getWeapon(i);
     95      if (weapon != NULL)
     96      {
     97        weapon->getEnergyWidget()->hide();
     98        this->weaponsWidgets.remove(weapon->getEnergyWidget());
     99      }
     100    }
     101  }
     102
     103  this->weaponManager = weaponMan;
     104
     105  if (weaponManager != NULL)
     106    for (unsigned int i = 0; i < weaponMan->getSlotCount(); i++)
     107    {
     108      Weapon* weapon = weaponMan->getWeapon(i);
     109      if (weapon != NULL)
     110      {
     111        weapon->getEnergyWidget()->show();
     112        this->weaponsWidgets.push_back(weapon->getEnergyWidget());
     113
     114      }
     115    }
     116
     117    this->updateResolution();
    86118}
     119
    87120
    88121void Hud::addWeaponWidget(GLGuiWidget* widget)
    89122{
    90 
    91123}
    92124
    93125void Hud::removeWeaponWidget(GLGuiWidget* widget)
    94126{
    95 
    96127}
    97128
     
    105136    this->energyWidget->setSize2D(.05 * this->resX, .55 * this->resY);
    106137  }
     138
     139  this->setSize2D(.2 * this->resX, this->resY);
     140
     141  std::list<GLGuiWidget*>::iterator weaponWidget;
     142  float pos = .2;
     143  for (weaponWidget = this->weaponsWidgets.begin(); weaponWidget != this->weaponsWidgets.end(); weaponWidget++, pos+=.03)
     144  {
     145    (*weaponWidget)->setSize2D(.02*this->resX, .2 *this->resY);
     146    (*weaponWidget)->setAbsCoor2D(pos*this->resX, .75*this->resY);
     147  }
     148
    107149}
    108150
  • trunk/src/util/hud.h

    r6441 r6442  
    1212// FORWARD DECLARATION
    1313class TiXmlElement;
    14 
     14class WeaponManager;
    1515
    1616//! A class that renders a HUD.
     
    2929  void setShiledWidget(GLGuiWidget* widget);
    3030  void setArmorWidget(GLGuiWidget* widget);
     31  void setWeaponManager(WeaponManager* weaponMan);
    3132
    3233  void addWeaponWidget(GLGuiWidget* widget);
     
    4647  GLGuiWidget*             armorWidget;
    4748
     49  WeaponManager*           weaponManager;
     50
    4851  std::list<GLGuiWidget*>  weaponsWidgets; //!< WeaponWidgets will be displayed one after another
    4952};
Note: See TracChangeset for help on using the changeset viewer.