-
Ушкова Диана Петровна authored714b72b9
#include "BobBuilderDirector.h"
#include <utility>
GameBuilderDirector::GameBuilderDirector(std::unique_ptr<IGameBuilder> &&ptr_builder,
sf::VideoMode mode,
std::string window_title,
float dynamic_objects_ratio) :
m_dynamic_object_ratio(dynamic_objects_ratio),
m_window_title(std::move(window_title)),
m_mode(mode),
m_ptr_builder(std::move(ptr_builder)) {
}
std::unique_ptr<GameState> GameBuilderDirector::build(IStateManager &state_manager) {
m_ptr_builder->create_rooms();
m_ptr_builder->set_rooms_sides();
m_ptr_builder->create_context(m_dynamic_object_ratio);
m_ptr_builder->create_state(state_manager, m_mode, m_window_title);
m_ptr_builder->set_all_to_state();
return m_ptr_builder->get_game();
}