42 explicit Play(TbotsProto::AiConfig ai_config,
bool requires_goalie);
54 virtual std::unique_ptr<TbotsProto::PrimitiveSet>
get(
56 const SetInterPlayCommunicationCallback& set_inter_play_communication_fun);
66 virtual ~Play() =
default;
73 virtual std::vector<std::string>
getState();
77 TbotsProto::AiConfig ai_config;
80 std::shared_ptr<GoalieTactic> goalie_tactic;
82 std::map<std::shared_ptr<const Tactic>, RobotId> tactic_robot_id_assignment;
85 std::map<RobotId, TrajectoryPath> robot_trajectories;
89 TbotsProto::ObstacleList obstacle_list;
90 TbotsProto::PathVisualization path_visualization;
113 std::tuple<std::vector<Robot>, std::unique_ptr<TbotsProto::PrimitiveSet>,
114 std::map<std::shared_ptr<const Tactic>, RobotId>>
115 assignTactics(
const WorldPtr& world_ptr, TacticVector tactic_vector,
116 const std::vector<Robot>& robots_to_assign);
135 PriorityTacticVector getTactics(
const WorldPtr& world_ptr);
159 void getNextTacticsWrapper(TacticCoroutine::push_type& yield);
170 virtual void getNextTactics(TacticCoroutine::push_type& yield,
171 const WorldPtr& world_ptr) = 0;
174 TacticVector halt_tactics;
177 const bool requires_goalie;
181 TacticCoroutine::pull_type tactic_sequence;
185 std::optional<WorldPtr> world_ptr_;
188 PriorityTacticVector priority_tactics;
190 uint64_t sequence_number = 0;
virtual std::unique_ptr< TbotsProto::PrimitiveSet > get(const WorldPtr &world_ptr, const InterPlayCommunication &inter_play_communication, const SetInterPlayCommunicationCallback &set_inter_play_communication_fun)
Definition play.cpp:85