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