4#include <boost/circular_buffer.hpp>
6#include "software/world/ball.h"
7#include "software/world/field.h"
8#include "software/world/game_state.h"
9#include "software/world/team.h"
36 const Team& enemy_team,
unsigned int buffer_size = 20);
44 explicit World(
const TbotsProto::World& world_proto);
197 static constexpr unsigned int REFEREE_COMMAND_BUFFER_SIZE = 3;
234 Timestamp getMostRecentTimestampFromMembers();
238 std::optional<Segment> dribble_displacement_;
245 RefereeStage current_referee_stage_;
248 boost::circular_buffer<RefereeCommand> referee_command_history_;
250 boost::circular_buffer<RefereeStage> referee_stage_history_;
252 TeamPossession team_with_possession_;
255using WorldPtr = std::shared_ptr<const World>;
Holds the state of the game according to the referee.
Definition game_state.h:80
Definition timestamp.h:21
const Timestamp getMostRecentTimestamp() const
Definition world.cpp:129
const Field & field() const
Definition world.cpp:61
void updateRefereeCommand(const RefereeCommand &command)
Definition world.cpp:81
bool operator!=(const World &other) const
Definition world.cpp:147
const Team & enemyTeam() const
Definition world.cpp:76
void updateBall(const Ball &new_ball)
Definition world.cpp:29
void updateTimestamp(Timestamp timestamp)
Definition world.cpp:48
void updateEnemyTeamState(const Team &new_enemy_team_data)
Definition world.cpp:42
void updateGameStateBall(const Ball &ball)
Definition world.cpp:153
void updateGameState(const GameState &game_state)
Definition world.cpp:158
void setTeamWithPossession(TeamPossession possession)
Definition world.cpp:168
const Ball & ball() const
Definition world.cpp:66
TeamPossession getTeamWithPossession() const
Definition world.cpp:173
const Team & friendlyTeam() const
Definition world.cpp:71
const RefereeStage & getRefereeStage() const
Definition world.cpp:163
const std::optional< Segment > & getDribbleDisplacement() const
Definition world.cpp:182
bool operator==(const World &other) const
Definition world.cpp:139
void setDribbleDisplacement(const std::optional< Segment > &displacement)
Definition world.cpp:177
const GameState & gameState() const
Definition world.cpp:134
void updateFriendlyTeamState(const Team &new_friendly_team_data)
Definition world.cpp:36
void updateRefereeStage(const RefereeStage &stage)
Definition world.cpp:102