]> git.localhorst.tv Git - l2e.git/blob - src/battle/HeroTag.h
added attack targets selection state
[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 "Hero.h"
12 #include "../geometry/Point.h"
13 #include "../geometry/Vector.h"
14
15 #include <SDL.h>
16
17 namespace graphics {
18         class Font;
19         class Frame;
20         class Gauge;
21         class Sprite;
22 }
23
24 namespace battle {
25
26 class AttackChoice;
27 struct Resources;
28
29 class HeroTag {
30
31 public:
32         enum Alignment {
33                 LEFT,
34                 RIGHT
35         };
36
37 public:
38         HeroTag() : hero(0), choice(0), res(0), align(LEFT) { };
39         HeroTag(const Hero *hero, const AttackChoice *choice, const Resources *res, Alignment align)
40         : hero(hero), choice(choice), res(res), align(align) { }
41         ~HeroTag() { }
42
43 public:
44         const graphics::Sprite *HeroSprite() const { return hero->Sprite(); }
45         geometry::Vector<int> HeroOffset() const;
46
47         void Render(SDL_Surface *screen, int width, int height, geometry::Point<int> position, bool active) const;
48
49 private:
50         const Hero *hero;
51         const AttackChoice *choice;
52         const Resources *res;
53         Alignment align;
54
55 };
56
57 }
58
59 #endif /* BATTLE_HEROTAG_H_ */