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
11
struct
DefensePlayFSM
:
public
DefensePlayFSMBase
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
};
DefensePlayFSMBase
Definition
defense_play_base.h:15
DefensePlayFSM
Definition
defense_play_fsm.h:12
DefensePlayFSM::defendAgainstThreats
void defendAgainstThreats(const Update &event)
Definition
defense_play_fsm.cpp:11
src
software
ai
hl
stp
play
defense
defense_play_fsm.h
Generated by
1.9.8