4 * Created on: Apr 8, 2012
8 #ifndef APP_APPLICATION_H_
9 #define APP_APPLICATION_H_
12 #include "../sdl/InitScreen.h"
26 Application(sdl::InitScreen *screen, State *initialState);
29 Application(const Application &);
30 Application &operator =(const Application &);
37 void ChangeState(State *);
38 void PushState(State *);
41 Input &Buttons() { return input; }
42 const Input &Buttons() const { return input; }
53 State *CurrentState();
54 bool StateChangePending() const { return !stateChanges.empty(); }
56 void RealChangeState(State *);
57 void RealPushState(State *);
63 void UpdateWorld(Uint32 deltaT);
67 sdl::InitScreen *screen;
68 std::stack<State *> states;
69 std::queue<StateCommand> stateChanges;
77 #endif /* APP_APPLICATION_H_ */