]> git.localhorst.tv Git - l2e.git/blob - src/battle/states/RunState.h
d3411978ff49656e392463ff6bdd66e8e24c6cce
[l2e.git] / src / battle / states / RunState.h
1 #ifndef BATTLE_RUNSTATE_H_
2 #define BATTLE_RUNSTATE_H_
3
4 namespace battle {
5         class BattleState;
6 }
7 namespace math {
8         template<class>
9         class Vector;
10 }
11
12 #include "../../app/State.h"
13
14 namespace battle {
15
16 class RunState
17 : public app::State {
18
19 public:
20         explicit RunState(BattleState *battle)
21         : battle(battle){ }
22
23 public:
24
25         virtual void HandleEvents(const app::Input &);
26         virtual void UpdateWorld(Uint32 deltaT);
27         virtual void Render(SDL_Surface *);
28
29 private:
30         virtual void OnEnterState(SDL_Surface *screen);
31         virtual void OnExitState(SDL_Surface *screen);
32         virtual void OnResumeState(SDL_Surface *screen);
33         virtual void OnPauseState(SDL_Surface *screen);
34
35         virtual void OnResize(int width, int height);
36
37 private:
38         void RenderTitleBar(SDL_Surface *screen, const math::Vector<int> &offset);
39
40 private:
41         BattleState *battle;
42         app::Timer<Uint32> timer;
43
44 };
45
46 }
47
48 #endif