Castle Battle  1.0
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
HUD::HUD Class Reference

HUD of the gameplay. More...

#include <hud.h>

Public Member Functions

 HUD (IrrlichtDevice *device, video::IVideoDriver *video)
 Default constructor. More...
 
void animatePower ()
 Animate power bar. More...
 
f32 getPower ()
 Get ratio of the power selected out of total power. More...
 
void setPlayerName (core::stringw name)
 Set player name. More...
 
void resetPower ()
 Reset power. More...
 

Public Attributes

gui::IGUIEnvironment * env
 Irrlicht GUI Enviroment. More...
 

Private Member Functions

void initHUD ()
 

Private Attributes

gui::IGUISkin * skin
 Gui skin. More...
 
IrrlichtDevice * device
 Irrlicht device. More...
 
gui::IGUIFont * font
 Font. More...
 
gui::IGUIStaticText * playerName
 Player name. More...
 
gui::IGUIStaticText * powertext
 Power text below bar. More...
 
gui::IGUIImage * power
 Image power bar. More...
 
core::rect< s32 > power_rect
 Clipping power rectangle. More...
 
video::IVideoDriver * driver
 Irrlicht video driver instance. More...
 
f32 velocity = SPEED_LOW
 Speed of bar default is SPEED_LOW. More...
 
f32 powerRatio
 Percentage of power respect to the total area. More...
 
core::rect< s32 > initialPosPower
 Private. More...
 

Detailed Description

HUD of the gameplay.

Constructor & Destructor Documentation

◆ HUD()

HUD::HUD::HUD ( IrrlichtDevice *  device,
video::IVideoDriver *  video 
)

Default constructor.

See also
HUD::HUD::initHUD()
28  {
29  this->device = device;
30  this->env = device->getGUIEnvironment();
31  this->skin = this->env->getSkin();
32  this->driver = video;
33  this->initHUD();
34 
35  }
IrrlichtDevice * device
Irrlicht device.
Definition: hud.h:24
void initHUD()
Definition: hud.cpp:7
gui::IGUIEnvironment * env
Irrlicht GUI Enviroment.
Definition: hud.h:48
gui::IGUISkin * skin
Gui skin.
Definition: hud.h:22
video::IVideoDriver * driver
Irrlicht video driver instance.
Definition: hud.h:36

Member Function Documentation

◆ animatePower()

void HUD::HUD::animatePower ( )

Animate power bar.

36  {
37  core::rect<s32> power_pos = this->power->getAbsoluteClippingRect();
38 
39  if(this->velocity > 0){
40  power_pos.UpperLeftCorner.Y = power_pos.UpperLeftCorner.Y * this->velocity;
41  if(power_pos.UpperLeftCorner.Y >= this->power_rect.LowerRightCorner.Y) this->velocity = SPEED_LOW;
42  }
43  else
44  power_pos.UpperLeftCorner.Y = power_pos.UpperLeftCorner.Y * this->velocity;
45  if(power_pos.UpperLeftCorner.Y <= this->power_rect.UpperLeftCorner.Y) this->velocity = SPEED_HIGH;
46  this->power->setRelativePosition(power_pos);
47  core::rect<s32> rect = this->power->getAbsolutePosition();
48  this->powerRatio = ((f32)rect.getHeight() / (f32)MAX_HEIGHT);
49  log2p("Power: ", this->powerRatio);
50 
51  }
f32 powerRatio
Percentage of power respect to the total area.
Definition: hud.h:40
f32 velocity
Speed of bar default is SPEED_LOW.
Definition: hud.h:38
#define log2p(_Message, parameter)
Log message of 2 level verbosity with a parameter(not string)
Definition: Logger.h:35
gui::IGUIImage * power
Image power bar.
Definition: hud.h:32
const f32 SPEED_LOW
Definition: hud.h:16
const f32 SPEED_HIGH
Definition: hud.h:15
const s32 MAX_HEIGHT
Definition: hud.h:17

◆ getPower()

f32 HUD::HUD::getPower ( )

Get ratio of the power selected out of total power.

53  {
54  log1p("Power bar: ", this->powerRatio);
55  return (this->powerRatio > 1) ? 1 : this->powerRatio;
56  }
f32 powerRatio
Percentage of power respect to the total area.
Definition: hud.h:40
#define log1p(_Message, parameter)
Log message of 1 level verbosity with a parameter(not string)
Definition: Logger.h:31

◆ initHUD()

void HUD::HUD::initHUD ( )
private
7  {
8  this->font = this->env->getFont("./media/font/myfont.xml");
9  if(this->font)
10  this->skin->setFont(this->font);
11  /*ADD TEXTS*/
12  this->playerName = this->env->addStaticText(L"", core::rect<s32>(1,1,250,50),false,false,0,INFO_PLAYER);
13  this->powertext = this->env->addStaticText(L"Power", core::rect<s32>(5,600-32,150,600),false,false,0,POWER_TEXT);
14  /*ADD IMAGE-BASED elements*/
15  video::ITexture* image = this->driver->getTexture("media/power.png");
16  core::rect<s32> pos = this->powertext->getAbsoluteClippingRect();
17  core::rect<s32> pos_power = core::rect<s32>(
18  core::position2di(((pos.UpperLeftCorner.X+pos.LowerRightCorner.X)/4),pos.UpperLeftCorner.Y-image->getSize().Height+150),
19  core::position2di(((pos.UpperLeftCorner.X+pos.LowerRightCorner.X)/4)+50,pos.LowerRightCorner.Y-45));
20  this->power_rect = pos_power;
21  pos_power.UpperLeftCorner.Y = pos_power.LowerRightCorner.Y-1;
22  this->initialPosPower = pos_power;
23  this->power = this->env->addImage(pos_power,0,POWER_BAR);
24  this->power->setImage(image);
25  this->power->setScaleImage(true);
26  this->powerRatio = 0;
27  }
f32 powerRatio
Percentage of power respect to the total area.
Definition: hud.h:40
gui::IGUIStaticText * powertext
Power text below bar.
Definition: hud.h:30
POWER_TEXT not used.
Definition: hud.h:11
gui::IGUIEnvironment * env
Irrlicht GUI Enviroment.
Definition: hud.h:48
gui::IGUIImage * power
Image power bar.
Definition: hud.h:32
POWER_BAR is power shot bar.
Definition: hud.h:12
gui::IGUIFont * font
Font.
Definition: hud.h:26
core::rect< s32 > power_rect
Clipping power rectangle.
Definition: hud.h:34
gui::IGUISkin * skin
Gui skin.
Definition: hud.h:22
Definition: hud.h:10
gui::IGUIStaticText * playerName
Player name.
Definition: hud.h:28
core::rect< s32 > initialPosPower
Private.
Definition: hud.h:43
video::IVideoDriver * driver
Irrlicht video driver instance.
Definition: hud.h:36

◆ resetPower()

void HUD::HUD::resetPower ( )

Reset power.

62  {
63  // core::rect<s32> power_pos = this->power->getAbsoluteClippingRect();
64  // power_pos.UpperLeftCorner.Y = power_pos.LowerRightCorner.Y-1;
65  this->power->setRelativePosition(core::rect<s32>(this->initialPosPower));
66  }
gui::IGUIImage * power
Image power bar.
Definition: hud.h:32
core::rect< s32 > initialPosPower
Private.
Definition: hud.h:43

◆ setPlayerName()

void HUD::HUD::setPlayerName ( core::stringw  name)

Set player name.

58  {
59  if(this->playerName)
60  this->playerName->setText(name.c_str());
61  }
gui::IGUIStaticText * playerName
Player name.
Definition: hud.h:28

Member Data Documentation

◆ device

IrrlichtDevice* HUD::HUD::device
private

Irrlicht device.

◆ driver

video::IVideoDriver* HUD::HUD::driver
private

Irrlicht video driver instance.

◆ env

gui::IGUIEnvironment* HUD::HUD::env

Irrlicht GUI Enviroment.

◆ font

gui::IGUIFont* HUD::HUD::font
private

Font.

Default is set to media/font/SuperMario256.bmp

◆ initialPosPower

core::rect<s32> HUD::HUD::initialPosPower
private

Private.

Initialize HUD, font, set all items on the screen.

◆ playerName

gui::IGUIStaticText* HUD::HUD::playerName
private

Player name.

◆ power

gui::IGUIImage* HUD::HUD::power
private

Image power bar.

◆ power_rect

core::rect<s32> HUD::HUD::power_rect
private

Clipping power rectangle.

◆ powerRatio

f32 HUD::HUD::powerRatio
private

Percentage of power respect to the total area.

◆ powertext

gui::IGUIStaticText* HUD::HUD::powertext
private

Power text below bar.

◆ skin

gui::IGUISkin* HUD::HUD::skin
private

Gui skin.

◆ velocity

f32 HUD::HUD::velocity = SPEED_LOW
private

Speed of bar default is SPEED_LOW.


The documentation for this class was generated from the following files: