Thunderbots Project
Loading...
Searching...
No Matches
shadow_enemy_tactic.h
1#pragma once
2
3
4#include "software/ai/evaluation/enemy_threat.h"
5#include "software/ai/hl/stp/tactic/shadow_enemy/shadow_enemy_fsm.h"
6#include "software/ai/hl/stp/tactic/tactic.h"
7
14{
15 public:
16 explicit ShadowEnemyTactic();
17
26 void updateControlParams(std::optional<EnemyThreat> enemy_threat,
27 double shadow_distance);
28
29 void accept(TacticVisitor &visitor) const override;
30
31 DEFINE_TACTIC_DONE_AND_GET_FSM_STATE
32
33 private:
34 void updatePrimitive(const TacticUpdate &tactic_update, bool reset_fsm) override;
35
36 std::map<RobotId, std::unique_ptr<FSM<ShadowEnemyFSM>>> fsm_map;
37
38 ShadowEnemyFSM::ControlParams control_params;
39};
Definition shadow_enemy_tactic.h:14
void accept(TacticVisitor &visitor) const override
Definition shadow_enemy_tactic.cpp:22
void updateControlParams(std::optional< EnemyThreat > enemy_threat, double shadow_distance)
Definition shadow_enemy_tactic.cpp:15
Definition tactic_visitor.h:39
Definition tactic.h:39
Definition shadow_enemy_fsm.h:19
Definition tactic_fsm.h:16