20 DEFINE_PLAY_UPDATE_STRUCT_WITH_CONTROL_AND_COMMON_PARAMS
60 void setTactics(
const Update& event,
int num_shoot_or_pass,
int num_defenders);
64 using namespace boost::sml;
66 DEFINE_SML_STATE(OffensiveState)
67 DEFINE_SML_STATE(DefensiveState)
69 DEFINE_SML_EVENT(Update)
76 return make_transition_table(
78 *OffensiveState_S + Update_E[enemyHasPossession_G] /
79 setupDefensiveStrategy_A = DefensiveState_S,
80 OffensiveState_S + Update_E / setupOffensiveStrategy_A = OffensiveState_S,
81 DefensiveState_S + Update_E[!enemyHasPossession_G] /
82 setupOffensiveStrategy_A = OffensiveState_S,
83 DefensiveState_S + Update_E / setupDefensiveStrategy_A = DefensiveState_S,
88 TbotsProto::AiConfig ai_config;
89 std::shared_ptr<ShootOrPassPlay> shoot_or_pass_play;
90 std::shared_ptr<DefensePlay> defense_play;