#ifndef APPLICATION_H #define APPLICATION_H #include #include #include #include #include #include #include #include #include "core/game.h" #include "state.h" #include "tools/resourceholder.h" class Application { public: Application(); void run(); void input(); void update(const sf::Time& dt); void draw(); private: std::array, GUIState::Tag::AMOUNT> _states; std::vector> _state_stack; sf::RenderWindow _game_window; std::shared_ptr _game; void exec(); void pushState(GUIState::Tag new_state); void popState(); FontHolder _font_holder; }; #endif // APPLICATION_H