X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FApplication.h;h=b7b0001f7bbbf874a193f7a8dbaeb0e2cd50a07a;hb=aa1a197e532673f0c4d33dee5bed27298c050d38;hp=853d0cb25cefc91897beeaa41e7365f027a2604a;hpb=2a0eca649009f78028db286a67a532429cab5b88;p=l2e.git diff --git a/src/app/Application.h b/src/app/Application.h index 853d0cb..b7b0001 100644 --- a/src/app/Application.h +++ b/src/app/Application.h @@ -8,7 +8,9 @@ #ifndef APP_APPLICATION_H_ #define APP_APPLICATION_H_ +#include "fwd.h" #include "Input.h" +#include "Timer.h" #include "../sdl/InitScreen.h" #include @@ -18,8 +20,6 @@ namespace app { -class State; - class Application { public: @@ -40,6 +40,7 @@ public: void Quit(); Input &Buttons() { return input; } const Input &Buttons() const { return input; } + Timers &GlobalTimers() { return globalTimers; } private: struct StateCommand { @@ -51,6 +52,7 @@ private: private: State *CurrentState(); + bool StateChangePending() const { return !stateChanges.empty(); } void UpdateState(); void RealChangeState(State *); void RealPushState(State *); @@ -66,6 +68,7 @@ private: sdl::InitScreen *screen; std::stack states; std::queue stateChanges; + Timers globalTimers; Input input; Uint32 last;