]> git.localhorst.tv Git - l2e.git/blobdiff - src/app/Application.h
added forwarding headers
[l2e.git] / src / app / Application.h
index 853d0cb25cefc91897beeaa41e7365f027a2604a..b7b0001f7bbbf874a193f7a8dbaeb0e2cd50a07a 100644 (file)
@@ -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 <stack>
@@ -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<Uint32> &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<State *> states;
        std::queue<StateCommand> stateChanges;
+       Timers<Uint32> globalTimers;
        Input input;
        Uint32 last;