Application.h 556 bytes
#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;