17 std::shared_ptr<FieldParams> fieldParams_;
28 Simulation(
const std::shared_ptr<FieldParams>& fieldParams,
const std::shared_ptr<CreepersParams>& creepersParams,
29 const std::shared_ptr<StevesParams>& stevesParams);
52 const auto upBound = fieldParams_->getBounds().rightUpBound;
53 const auto downBound = fieldParams_->getBounds().leftDownBound;
54 if (bedrock.rightUpBound.x > upBound.x || bedrock.rightUpBound.y > upBound.y ||
55 bedrock.leftDownBound.x < downBound.x || bedrock.leftDownBound.y < downBound.y) {
56 LOG(WARNING) <<
"Bedrock is out of field bounds!";
Manages a collection of creeper entities and their interactions.
Definition CreepersManager.hpp:15
Main controller for managing the simulation of creepers and Steves.
Definition Simulation.hpp:16
Simulation & deleteBedrock(const Rectangle &bedrock)
Definition Simulation.hpp:62
CreepersManager & getCreepersManager()
Provides access to the CreepersManager.
Definition Simulation.hpp:40
Simulation & setBedrock(const Rectangle &bedrock)
Configures bedrock for the simulation field.
Definition Simulation.hpp:51
StevesManager & getStevesManager()
Provides access to the StevesManager.
Definition Simulation.hpp:45
void updateField()
Updates the simulation field.
Definition Simulation.cpp:17
Менеджер для управления сущностями типа Steve.
Definition StevesManager.hpp:16
Represents a rectangle defined by two points: bottom-left and top-right.
Definition utils.hpp:24