Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
AIAttackFollowWaypointPathState Class Reference

#include <AIStateMachine.h>

Inherits AIFollowWaypointPathState.

Public Member Functions

 AIAttackFollowWaypointPathState (StateMachine *machine, Bool asGroup)
 
virtual Bool isAttack () const
 
virtual StateReturnType onEnter ()
 
virtual void onExit (StateExitType status)
 
virtual StateReturnType update ()
 
- Public Member Functions inherited from AIFollowWaypointPathState
 AIFollowWaypointPathState (StateMachine *machine, Bool asGroup)
 
 AIFollowWaypointPathState (StateMachine *machine, Bool asGroup, Bool isFollow)
 
- Public Member Functions inherited from AIInternalMoveToState
 AIInternalMoveToState (StateMachine *machine, AsciiString name)
 
- Public Member Functions inherited from State
 State (StateMachine *machine, AsciiString name)
 < this abstract class needs memory pool hooks
 
virtual Bool isIdle () const
 
virtual Bool isGuardIdle () const
 
virtual Bool isBusy () const
 
StateMachine * getMachine ()
 return the machine this state is part of
 
StateID getID () const
 get this state's id
 
Object * getMachineOwner ()
 
const Object * getMachineOwner () const
 
Object * getMachineGoalObject ()
 return the machine this state is part of
 
const Object * getMachineGoalObject () const
 return the machine this state is part of
 
const Coord3D * getMachineGoalPosition () const
 return the machine this state is part of
 
void friend_setID (StateID id)
 define this state's id (for use only by StateMachine class)
 
void friend_onSuccess (StateID toStateID)
 define which state to move to after successful completion
 
void friend_onFailure (StateID toStateID)
 define which state to move to after failure
 
void friend_onCondition (StateTransFuncPtr test, StateID toStateID, void *userData, const char *description=NULL)
 define when to change state
 
StateReturnType friend_checkForTransitions (StateReturnType status)
 given a return code, handle state transitions
 
StateReturnType friend_checkForSleepTransitions (StateReturnType status)
 given a return code, handle state transitions
 
- Public Member Functions inherited from MemoryPoolObject
void deleteInstance ()
 
- Public Member Functions inherited from Snapshot
 Snapshot (void)
 
 ~Snapshot (void)
 

Protected Member Functions

virtual void crc (Xfer *xfer)
 
virtual void xfer (Xfer *xfer)
 
virtual void loadPostProcess ()
 
- Protected Member Functions inherited from AIFollowWaypointPathState
void computeGoal (Bool useGroupOffsets)
 
Real calcExtraPathDistance (void)
 
const Waypoint * getNextWaypoint (void)
 
Bool hasNextWaypoint (void)
 
- Protected Member Functions inherited from AIInternalMoveToState
void setAdjustsDestination (Bool b)
 
Bool getAdjustsDestination () const
 
void setGoalPos (const Coord3D *pos)
 
const Coord3D * getGoalPos () const
 
virtual Bool computePath ()
 compute the path
 
void forceRepath ()
 
- Protected Member Functions inherited from MemoryPoolObject
virtual ~MemoryPoolObject ()
 
void * operator new (size_t s)
 
void operator delete (void *p)
 
virtual MemoryPool * getObjectMemoryPool ()=0
 

Protected Attributes

StateMachine * m_attackFollowMachine
 
- Protected Attributes inherited from AIFollowWaypointPathState
Coord2D m_groupOffset
 
Real m_angle
 
Int m_framesSleeping
 
const Waypoint * m_currentWaypoint
 
const Waypoint * m_priorWaypoint
 
Bool m_appendGoalPosition
 
const Bool m_moveAsGroup
 
const Bool m_isFollowWaypointPathState
 
- Protected Attributes inherited from AIInternalMoveToState
Coord3D m_goalPosition
 the goal position to move to
 
PathfindLayerEnum m_goalLayer
 The layer we are moving towards.
 
Coord3D m_pathGoalPosition
 the position our current path leads to
 
Bool m_waitingForPath
 If we are waiting for a path.
 
Bool m_tryOneMoreRepath
 If true, after we complete movement do another compute path.
 

Detailed Description

Follow a waypoint path, attacking targets encountered along the way

Definition at line 686 of file AIStateMachine.h.

Constructor & Destructor Documentation

◆ AIAttackFollowWaypointPathState()

AIAttackFollowWaypointPathState::AIAttackFollowWaypointPathState ( StateMachine * machine,
Bool asGroup )

Definition at line 4367 of file AIStates.cpp.

Member Function Documentation

◆ crc()

void AIAttackFollowWaypointPathState::crc ( Xfer * xfer)
protectedvirtual

CRC

Reimplemented from AIFollowWaypointPathState.

Definition at line 4386 of file AIStates.cpp.

◆ isAttack()

virtual Bool AIAttackFollowWaypointPathState::isAttack ( ) const
inlinevirtual

Reimplemented from State.

Definition at line 693 of file AIStateMachine.h.

◆ loadPostProcess()

void AIAttackFollowWaypointPathState::loadPostProcess ( void )
protectedvirtual

Load post process

Reimplemented from AIFollowWaypointPathState.

Definition at line 4409 of file AIStates.cpp.

◆ onEnter()

StateReturnType AIAttackFollowWaypointPathState::onEnter ( void )
virtual

We are initiating a moveTo action. Pathfind from m_goalPosition to goal.

Reimplemented from AIFollowWaypointPathState.

Definition at line 4426 of file AIStates.cpp.

◆ onExit()

void AIAttackFollowWaypointPathState::onExit ( StateExitType status)
virtual

We are leaving the moveTo state.

Reimplemented from AIFollowWaypointPathState.

Definition at line 4499 of file AIStates.cpp.

◆ update()

StateReturnType AIAttackFollowWaypointPathState::update ( void )
virtual

Execute the moveTo behavior towards GoalPosition.

Trigger "end of waypoint path" scripts (jba)

Todo
srj – find a way to sleep for a number of frames here, if possible

Reimplemented from AIFollowWaypointPathState.

Definition at line 4435 of file AIStates.cpp.

◆ xfer()

void AIAttackFollowWaypointPathState::xfer ( Xfer * xfer)
protectedvirtual

Xfer Method

Reimplemented from AIFollowWaypointPathState.

Definition at line 4393 of file AIStates.cpp.

Member Data Documentation

◆ m_attackFollowMachine

StateMachine* AIAttackFollowWaypointPathState::m_attackFollowMachine
protected

Definition at line 704 of file AIStateMachine.h.


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