Thunderbots Project
Loading...
Searching...
No Matches
goalie_tactic.h
1#pragma once
2
3#include "software/ai/hl/stp/tactic/goalie/goalie_fsm.h"
4#include "software/ai/hl/stp/tactic/tactic.h"
5
17class GoalieTactic : public Tactic
18{
19 public:
26 explicit GoalieTactic(TbotsProto::AiConfig ai_config,
27 TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode =
28 TbotsProto::MaxAllowedSpeedMode::PHYSICAL_LIMIT);
29
30 GoalieTactic() = delete;
31
32 void updateControlParams(bool should_move_to_goal_line);
33
34 void accept(TacticVisitor &visitor) const override;
35
36 DEFINE_TACTIC_DONE_AND_GET_FSM_STATE
37
38 private:
39 void updatePrimitive(const TacticUpdate &tactic_update, bool reset_fsm) override;
40
41 std::map<RobotId, std::unique_ptr<FSM<GoalieFSM>>> fsm_map;
42
43 TbotsProto::MaxAllowedSpeedMode max_allowed_speed_mode;
44
45 GoalieFSM::ControlParams control_params;
46 TbotsProto::AiConfig ai_config;
47};
Definition goalie_tactic.h:18
void accept(TacticVisitor &visitor) const override
Definition goalie_tactic.cpp:30
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition goalie_fsm.h:25
Definition tactic_fsm.h:16