Thunderbots Project
Loading...
Searching...
No Matches
defense_play_fsm.h
1#pragma once
2
3#include "proto/parameters.pb.h"
4#include "shared/constants.h"
5#include "software/ai/hl/stp/play/defense/defense_play_base.h"
6#include "software/ai/hl/stp/play/play_fsm.h"
7#include "software/ai/hl/stp/tactic/crease_defender/crease_defender_tactic.h"
8#include "software/ai/hl/stp/tactic/pass_defender/pass_defender_tactic.h"
9#include "software/logger/logger.h"
10
12{
13 class DefenseState;
14
20 explicit DefensePlayFSM(TbotsProto::AiConfig ai_config);
21
28 void defendAgainstThreats(const Update& event);
29
30 auto operator()()
31 {
32 using namespace boost::sml;
33
34 DEFINE_SML_STATE(DefenseState)
35
36 DEFINE_SML_EVENT(Update)
37
38 DEFINE_SML_ACTION(defendAgainstThreats)
39
40 return make_transition_table(
41 // src_state + event [guard] / action = dest_state
42 *DefenseState_S + Update_E / defendAgainstThreats_A = DefenseState_S,
43 X + Update_E = X);
44 }
45};
Definition defense_play_base.h:15
Definition defense_play_fsm.h:12
void defendAgainstThreats(const Update &event)
Definition defense_play_fsm.cpp:11