RTS2D
|
00001 #ifndef STATEMANAGER_H 00002 #include <map> 00003 #include <vector> 00004 #include "allegro5/allegro.h" 00005 #define STATEMANAGER_H 00006 00007 class State; 00011 class StateManager { 00012 public: 00013 StateManager(ALLEGRO_DISPLAY* display, ALLEGRO_TIMER* timer, ALLEGRO_EVENT_QUEUE* queue); 00014 virtual ~StateManager(); 00015 void changeState(State* state); 00016 bool isRunning(); 00017 void quit(); 00018 void readInput(); 00019 void update(); 00020 void render(); 00021 00022 protected: 00023 private: 00024 State* currentState; 00025 bool running; 00026 }; 00027 00028 #endif // STATEMANAGER_H