|
ProtoBot
|
Squad moves towards nearby friendly squads being attacked. Once no nearby squads are being attacked or the squad moves too far away from its defensive position (MAX_REINFORCE_DIST defined in SquadStateTypes.h), the squad returns to its defensive state and position. More...
#include <SquadStateTypes.h>
Public Member Functions | |
| void | Enter (Squad *squad) |
| Adds squad to ReinforcingSquads vector in CombatManager. | |
| void | Update (Squad *squad) |
| Every frame, checks if the reinforce position sent to it by StrategyManager is within range (distance < MAX_REINFORCE_DIST) If enemies in range, moves towards reinforce position while attacking nearby enemies. If no longer close enough or no enemies remain, returns to DefendingState. | |
| void | Exit (Squad *squad) |
| Removes squad from ReinforcingSquads vector in CombatManager and resets currentReinforcePosition to invalid. | |
Static Public Member Functions | |
| static SquadState & | getInstance () |
Private Member Functions | |
| ReinforcingState (const ReinforcingState &) | |
| ReinforcingState & | operator= (const ReinforcingState &) |
Squad moves towards nearby friendly squads being attacked. Once no nearby squads are being attacked or the squad moves too far away from its defensive position (MAX_REINFORCE_DIST defined in SquadStateTypes.h), the squad returns to its defensive state and position.
Checks if nearby squads are being attacked with a distance < MAX_REINFORCE_DIST.
If so, the squad moves towards the nearby squad while attacking any enemies along the way. If no nearby squads are being attacked or the squad moves too far away from its defensive position, the squad returns to its defensive state and position.
Definition at line 92 of file SquadStateTypes.h.
|
inlineprivate |
Definition at line 116 of file SquadStateTypes.h.
|
virtual |
Adds squad to ReinforcingSquads vector in CombatManager.
| squad |
Implements SquadState.
Definition at line 104 of file SquadStateTypes.cpp.
|
virtual |
Removes squad from ReinforcingSquads vector in CombatManager and resets currentReinforcePosition to invalid.
| squad |
Implements SquadState.
Definition at line 146 of file SquadStateTypes.cpp.
|
static |
Definition at line 155 of file SquadStateTypes.cpp.
|
inlineprivate |
Definition at line 118 of file SquadStateTypes.h.
|
virtual |
Every frame, checks if the reinforce position sent to it by StrategyManager is within range (distance < MAX_REINFORCE_DIST)
If enemies in range, moves towards reinforce position while attacking nearby enemies.
If no longer close enough or no enemies remain, returns to DefendingState.
While in ReinforcingState, the squad handles combat similar to AttackingState.
Units use the kiting methods kitingMelee() and kitingRanged() from KitingBehaviors class to attack enemies while moving back towards the base or forward towards the reinforce position.
| squad |
Implements SquadState.
Definition at line 112 of file SquadStateTypes.cpp.