#pragma once #include "IGameBuilder.h" class CommonBuilder:public IGameBuilder { private: float m_width; float m_height; float m_room_size; std::vector<std::vector<std::unique_ptr<Room>>> m_rooms; GameContext m_context; std::unique_ptr<GameState> m_game_state; public: CommonBuilder(float width, float height, float room_size) : m_height(height), m_width(width), m_room_size(room_size) {} void create_context(float dynamic_obj_ratio); void create_state(IStateManager& state_manager, sf::VideoMode mode, std::string window_title); void set_all_to_state(); std::unique_ptr<GameState> get_game() override; };