CommonBuilder.h 617 bytes
#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;