#ifndef APPLICATION_H #define APPLICATION_H #include #include #include #include #include "game/game.h" #include "gui/state.h" class Application { public: enum State { SPLASH_SCREEN, MAIN_MENU, GAME_PICKER, GAME, EDITOR_PICKER, EDITOR, SETTINGS }; Application(); void run(); void input(); void update(); void draw(); private: std::stack> _states; sf::RenderWindow _game_window; std::shared_ptr _game; State _state; void exec(); }; #endif // APPLICATION_H