]> git.localhorst.tv Git - l2e.git/blob - src/battle/HeroTag.h
added gauges for health, mana, and ikari displays
[l2e.git] / src / battle / HeroTag.h
1 /*
2  * HeroTag.h
3  *
4  *  Created on: Aug 6, 2012
5  *      Author: holy
6  */
7
8 #ifndef BATTLE_HEROTAG_H_
9 #define BATTLE_HEROTAG_H_
10
11 #include "../geometry/Point.h"
12
13 #include <SDL.h>
14
15 namespace graphics {
16         class Frame;
17         class Gauge;
18 }
19
20 namespace battle {
21
22 class AttackChoice;
23 class Hero;
24
25 class HeroTag {
26
27 public:
28         enum Alignment {
29                 LEFT,
30                 RIGHT
31         };
32
33 public:
34         HeroTag(const Hero *hero, const AttackChoice *choice, const graphics::Frame *frame, const graphics::Frame *activeFrame, const graphics::Gauge *healthGauge, const graphics::Gauge *manaGauge, const graphics::Gauge *ikariGauge, Alignment align)
35         : hero(hero), choice(choice), frame(frame), activeFrame(activeFrame), healthGauge(healthGauge), manaGauge(manaGauge), ikariGauge(ikariGauge), align(align) { }
36         ~HeroTag() { }
37
38 public:
39         void Render(SDL_Surface *screen, int width, int height, geometry::Point<int> position, bool active) const;
40
41 private:
42         const Hero *hero;
43         const AttackChoice *choice;
44         const graphics::Frame *frame;
45         const graphics::Frame *activeFrame;
46         const graphics::Gauge *healthGauge;
47         const graphics::Gauge *manaGauge;
48         const graphics::Gauge *ikariGauge;
49         Alignment align;
50
51 };
52
53 }
54
55 #endif /* BATTLE_HEROTAG_H_ */