Thunderbots Project
Loading...
Searching...
No Matches
DefenderFSMBase Struct Reference
Inheritance diagram for DefenderFSMBase:

Static Public Member Functions

static bool ballNearbyWithoutThreat (const WorldPtr &world_ptr, const Robot &robot, const TbotsProto::BallStealMode &ball_steal_mode, const TbotsProto::DefenderStealConfig &defender_steal_config)
 
static void prepareGetPossession (const TacticUpdate &tactic_update, boost::sml::back::process< DribbleFSM::Update > processEvent)
 

Member Function Documentation

◆ ballNearbyWithoutThreat()

bool ballNearbyWithoutThreat ( const WorldPtr &  world_ptr,
const Robot robot,
const TbotsProto::BallStealMode &  ball_steal_mode,
const TbotsProto::DefenderStealConfig &  defender_steal_config 
)
static

Guard that determines whether it is appropriate to steal the ball for FSMs

Parameters
world_ptrThe current state of the world
robotThe current defender robot
ball_steal_modeThe aggressive behaviour of the defender denoting whether to steal the ball
defender_steal_configThe dynamic params containing the defender's config
Returns
true if stealing is enabled and the ball is nearby, unguarded by the enemy, and within a max get possession threshold

◆ prepareGetPossession()

void prepareGetPossession ( const TacticUpdate tactic_update,
boost::sml::back::process< DribbleFSM::Update >  processEvent 
)
static

This is the Action that prepares for getting possession of the ball with FSMs

Parameters
tactic_updatethe Defender's Update event
processEventprocesses the DribbleFSM::Update

The documentation for this struct was generated from the following files: