Thunderbots Project
Loading...
Searching...
No Matches
receiver_tactic.h
1#pragma once
2
3#include "software/ai/evaluation/shot.h"
4#include "software/ai/hl/stp/tactic/receiver/receiver_fsm.h"
5#include "software/ai/hl/stp/tactic/tactic.h"
6#include "software/ai/passing/pass.h"
7#include "software/geom/ray.h"
8
15class ReceiverTactic : public Tactic
16{
17 public:
22 explicit ReceiverTactic(const TbotsProto::ReceiverTacticConfig& receiver_config);
23
31 void updateControlParams(std::optional<Pass> updated_pass,
32 bool disable_one_touch_shot = false);
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<ReceiverFSM>>> fsm_map;
42
43 ReceiverFSM::ControlParams control_params;
44 TbotsProto::ReceiverTacticConfig receiver_config;
45};
Definition receiver_tactic.h:16
void accept(TacticVisitor &visitor) const override
Definition receiver_tactic.cpp:30
void updateControlParams(std::optional< Pass > updated_pass, bool disable_one_touch_shot=false)
Definition receiver_tactic.cpp:22
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition receiver_fsm.h:30
Definition tactic_fsm.h:16