#pragma once #include <States/SelectState/SelectState.h> class Application : public IStateManager { public: Application() = default; int run(); ~Application() override = default; private: void set_next_state(std::unique_ptr<IState> state) override { m_ptr_state_next = std::move(state); } void apply_deffer_state_change(); std::unique_ptr<IState> m_ptr_state_current = std::make_unique<SelectState>(*this, sf::VideoMode{config::SELECT_LEVEL_VIDEO_MODE}, config::SELECT_LEVEL_TITLE); std::unique_ptr<IState> m_ptr_state_next; };