]> git.localhorst.tv Git - l2e.git/blob - src/battle/states/SwapHeroes.h
extracted battle logic into a class
[l2e.git] / src / battle / states / SwapHeroes.h
1 #ifndef BATTLE_SWAPHEROES_H_
2 #define BATTLE_SWAPHEROES_H_
3
4 namespace battle {
5         class Battle;
6         class SelectMoveAction;
7 }
8
9 #include "../../app/State.h"
10 #include "../../math/Vector.h"
11
12 #include <vector>
13
14 namespace battle {
15
16 class SwapHeroes
17 : public app::State {
18
19 public:
20         SwapHeroes(Battle *battle, SelectMoveAction *parent);
21
22 public:
23         virtual void HandleEvents(const app::Input &);
24         virtual void UpdateWorld(Uint32 deltaT);
25         virtual void Render(SDL_Surface *);
26
27 private:
28         virtual void OnEnterState(SDL_Surface *screen);
29         virtual void OnExitState(SDL_Surface *screen);
30         virtual void OnResumeState(SDL_Surface *screen);
31         virtual void OnPauseState(SDL_Surface *screen);
32
33         virtual void OnResize(int width, int height);
34
35 private:
36         void MoveUp();
37         void MoveRight();
38         void MoveDown();
39         void MoveLeft();
40
41 private:
42         void RenderCursors(SDL_Surface *screen);
43
44 private:
45         Battle *battle;
46         SelectMoveAction *parent;
47         std::vector<math::Vector<int> > positions;
48         math::Vector<int> cursorOffset;
49         math::Vector<int> indicatorOffset;
50         int cursor;
51         int selected;
52         bool flipFlop;
53
54 };
55
56 }
57
58 #endif