Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/playability/src/util/hud.h @ 10139

Last change on this file since 10139 was 10139, checked in by muellmic, 17 years ago

trying to adjust interface

File size: 2.0 KB
RevLine 
[4838]1/*!
[6437]2 * @file hud.h
3 * @brief Definition of the ingame HUD.
[3245]4*/
[1853]5
[6437]6#ifndef _HUD_H
7#define _HUD_H
[1853]8
[8448]9#include "element_2d.h"
[8990]10#include "event_listener.h"
[10111]11#include "glgui_box.h"
[8994]12
13
[4838]14// FORWARD DECLARATION
[6442]15class WeaponManager;
[8518]16namespace OrxGui {
17  class GLGuiWidget;
18  class GLGuiNotifier;
19  class GLGuiInputLine;
[8994]20  class GLGuiRadar;
[8518]21}
22
[8972]23//! A class that renders a HUD (Heads Up Display for User Information).
[8990]24class Hud : public Element2D, public EventListener
[6438]25{
[9869]26  ObjectListDeclaration(Hud);
[1853]27
[6438]28public:
[6437]29  Hud();
30  virtual ~Hud();
[1853]31
[6441]32
[6512]33  virtual void loadParams(const TiXmlElement* root);
[6438]34
[8518]35  void notifyUser(const std::string& message);
36
37
[6437]38  void setBackGround();
[8145]39  void setEnergyWidget(OrxGui::GLGuiWidget* widget);
40  void setShiledWidget(OrxGui::GLGuiWidget* widget);
41  void setArmorWidget(OrxGui::GLGuiWidget* widget);
[10139]42  inline OrxGui::GLGuiWidget* getEnergyWidget() {return this->energyWidget;};
43  inline OrxGui::GLGuiWidget* getShieldWidget() {return this->shieldWidget;};
44  inline OrxGui::GLGuiWidget* getArmorWidget() {return this->armorWidget;};
45
[9965]46  void setWeaponManager(WeaponManager* weaponMan, WeaponManager* weaponManSec = NULL);
[3245]47
[8145]48  void addWeaponWidget(OrxGui::GLGuiWidget* widget);
49  void removeWeaponWidget(OrxGui::GLGuiWidget* widget);
[6437]50
[8995]51  OrxGui::GLGuiRadar* radar() const { return _radar; };
52
[6443]53  void updateWeaponManager();
54
[6441]55  void draw() const;
[8990]56  virtual void process(const Event &event);
[6437]57
[8990]58
[6441]59  private:
60    void updateResolution();
[10139]61    void createShipValuesBox();
[7062]62
[6438]63private:
[6441]64  unsigned int             resX;
65  unsigned int             resY;
[3245]66
[8145]67  OrxGui::GLGuiWidget*     energyWidget;
68  OrxGui::GLGuiWidget*     shieldWidget;
69  OrxGui::GLGuiWidget*     armorWidget;
[10111]70  OrxGui::GLGuiBox*        shipValuesBox;
[6437]71
[8518]72  OrxGui::GLGuiNotifier*   notifier;
73  OrxGui::GLGuiInputLine*  inputLine;
[8995]74  OrxGui::GLGuiRadar*      _radar;
[8518]75
[6442]76  WeaponManager*           weaponManager;
[9965]77  WeaponManager*           weaponManagerSecondary;
[6442]78
[8145]79  std::list<OrxGui::GLGuiWidget*> weaponsWidgets; //!< WeaponWidgets will be displayed one after another
[1853]80};
81
[6437]82#endif /* _HUD_H */
Note: See TracBrowser for help on using the repository browser.