|
ProtoBot
|
The AttackingState has all units in the attacking squad move towards the assigned attack position. More...
#include <SquadStateTypes.h>
Public Member Functions | |
| void | Enter (Squad *squad) |
| Squad is added to AttackingSquads vector in CombatManager. | |
| void | Update (Squad *squad) |
| Every frame, loops through all units in the squad. For each unit, finds closest chokepoint position (for avoiding traffic jams). | |
| void | Exit (Squad *squad) |
| Squad is removed from AttackingSquads vector in CombatManager. | |
Static Public Member Functions | |
| static SquadState & | getInstance () |
Public Attributes | |
| set< BWAPI::Position > | chokepointPositions |
Private Member Functions | |
| AttackingState (const AttackingState &) | |
| AttackingState & | operator= (const AttackingState &) |
The AttackingState has all units in the attacking squad move towards the assigned attack position.
In the AttackingState, squads will attack the position. During this movement, three scenarios can occur
- If no enemy is near squad: Continue moving towards attack position
- If an enemy is near squad: Attack enemy and move away towards base while weapons are on cooldown (Kiting)
- If squad is near chokepoint: Ignore kiting behavior and move towards attack position even if weapons are on cooldown (This behavior stops squads from cluttering too much at chokepoints and causing traffic jams)
Definition at line 26 of file SquadStateTypes.h.
|
inlineprivate |
Definition at line 51 of file SquadStateTypes.h.
|
virtual |
Squad is added to AttackingSquads vector in CombatManager.
| squad |
Implements SquadState.
Definition at line 3 of file SquadStateTypes.cpp.
|
virtual |
Squad is removed from AttackingSquads vector in CombatManager.
| squad |
Implements SquadState.
Definition at line 55 of file SquadStateTypes.cpp.
|
static |
Definition at line 63 of file SquadStateTypes.cpp.
|
inlineprivate |
Definition at line 53 of file SquadStateTypes.h.
|
virtual |
Every frame, loops through all units in the squad.
For each unit, finds closest chokepoint position (for avoiding traffic jams).
If unit is melee, applies kitingMelee() method from KitingBehaviors class.
If unit is ranged, applies kitingRanged() method from KitingBehaviors class.
| squad |
Implements SquadState.
Definition at line 20 of file SquadStateTypes.cpp.
| set<BWAPI::Position> AttackingState::chokepointPositions |
Definition at line 49 of file SquadStateTypes.h.