]> git.localhorst.tv Git - l2e.git/blob - src/battle/states/SelectIkari.h
43fa0cf1b4de65901e9505410082bccb6541294e
[l2e.git] / src / battle / states / SelectIkari.h
1 #ifndef BATTLE_SELECTIKARI_H_
2 #define BATTLE_SELECTIKARI_H_
3
4 namespace battle {
5         class BattleState;
6         class SelectAttackType;
7 }
8 namespace math {
9         template<class>
10         class Vector;
11 }
12
13 #include "../../app/State.h"
14
15 namespace battle {
16
17 // TODO: looks like item, spell, and ikari select can be merged into one class
18 class SelectIkari
19 : public app::State {
20
21 public:
22         SelectIkari(BattleState *battle, SelectAttackType *parent)
23         : battle(battle), parent(parent) { }
24
25 public:
26         virtual void HandleEvents(const app::Input &);
27         virtual void UpdateWorld(Uint32 deltaT);
28         virtual void Render(SDL_Surface *);
29
30 private:
31         virtual void OnEnterState(SDL_Surface *screen);
32         virtual void OnExitState(SDL_Surface *screen);
33         virtual void OnResumeState(SDL_Surface *screen);
34         virtual void OnPauseState(SDL_Surface *screen);
35
36         virtual void OnResize(int width, int height);
37
38 private:
39         void RenderFrame(SDL_Surface *, const math::Vector<int> &offset);
40         void RenderHeadline(SDL_Surface *, const math::Vector<int> &offset);
41         void RenderMenu(SDL_Surface *, const math::Vector<int> &offset);
42
43 private:
44         BattleState *battle;
45         SelectAttackType *parent;
46
47 };
48
49 }
50
51 #endif