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

#include <AIStateMachine.h>

Inherits AIInternalMoveToState.

Inherited by AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Public Member Functions

 AIFollowWaypointPathState (StateMachine *machine, Bool asGroup)
 
 AIFollowWaypointPathState (StateMachine *machine, Bool asGroup, Bool isFollow)
 
virtual StateReturnType onEnter ()
 
virtual void onExit (StateExitType status)
 
virtual StateReturnType update ()
 
- 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 isAttack () 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 ()
 
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

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

Definition at line 609 of file AIStateMachine.h.

Constructor & Destructor Documentation

◆ AIFollowWaypointPathState() [1/2]

AIFollowWaypointPathState::AIFollowWaypointPathState ( StateMachine * machine,
Bool asGroup )
inline

Definition at line 613 of file AIStateMachine.h.

◆ AIFollowWaypointPathState() [2/2]

AIFollowWaypointPathState::AIFollowWaypointPathState ( StateMachine * machine,
Bool asGroup,
Bool isFollow )
inline

Definition at line 618 of file AIStateMachine.h.

Member Function Documentation

◆ calcExtraPathDistance()

Real AIFollowWaypointPathState::calcExtraPathDistance ( void )
protected

Definition at line 3845 of file AIStates.cpp.

◆ computeGoal()

void AIFollowWaypointPathState::computeGoal ( Bool useGroupOffsets)
protected

Definition at line 3866 of file AIStates.cpp.

◆ crc()

void AIFollowWaypointPathState::crc ( Xfer * xfer)
protectedvirtual

CRC

Reimplemented from AIInternalMoveToState.

Reimplemented in AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Definition at line 3962 of file AIStates.cpp.

◆ getNextWaypoint()

const Waypoint * AIFollowWaypointPathState::getNextWaypoint ( void )
protected

Definition at line 3782 of file AIStates.cpp.

◆ hasNextWaypoint()

Bool AIFollowWaypointPathState::hasNextWaypoint ( void )
protected

Definition at line 3821 of file AIStates.cpp.

◆ loadPostProcess()

void AIFollowWaypointPathState::loadPostProcess ( void )
protectedvirtual

Load post process

Reimplemented from AIInternalMoveToState.

Reimplemented in AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Definition at line 4008 of file AIStates.cpp.

◆ onEnter()

StateReturnType AIFollowWaypointPathState::onEnter ( void )
virtual

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

Reimplemented from AIInternalMoveToState.

Reimplemented in AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Definition at line 4014 of file AIStates.cpp.

◆ onExit()

void AIFollowWaypointPathState::onExit ( StateExitType status)
virtual

We are leaving the moveTo state.

Reimplemented from AIInternalMoveToState.

Reimplemented in AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Definition at line 4100 of file AIStates.cpp.

◆ update()

StateReturnType AIFollowWaypointPathState::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 AIInternalMoveToState.

Reimplemented in AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Definition at line 4113 of file AIStates.cpp.

◆ xfer()

void AIFollowWaypointPathState::xfer ( Xfer * xfer)
protectedvirtual

Xfer Method

Reimplemented from AIInternalMoveToState.

Reimplemented in AIAttackFollowWaypointPathState, AIPanicState, and AIWanderState.

Definition at line 3970 of file AIStates.cpp.

Member Data Documentation

◆ m_angle

Real AIFollowWaypointPathState::m_angle
protected

Definition at line 636 of file AIStateMachine.h.

◆ m_appendGoalPosition

Bool AIFollowWaypointPathState::m_appendGoalPosition
protected

Definition at line 640 of file AIStateMachine.h.

◆ m_currentWaypoint

const Waypoint* AIFollowWaypointPathState::m_currentWaypoint
protected

Definition at line 638 of file AIStateMachine.h.

◆ m_framesSleeping

Int AIFollowWaypointPathState::m_framesSleeping
protected

Definition at line 637 of file AIStateMachine.h.

◆ m_groupOffset

Coord2D AIFollowWaypointPathState::m_groupOffset
protected

Definition at line 635 of file AIStateMachine.h.

◆ m_isFollowWaypointPathState

const Bool AIFollowWaypointPathState::m_isFollowWaypointPathState
protected

Definition at line 645 of file AIStateMachine.h.

◆ m_moveAsGroup

const Bool AIFollowWaypointPathState::m_moveAsGroup
protected

Definition at line 642 of file AIStateMachine.h.

◆ m_priorWaypoint

const Waypoint* AIFollowWaypointPathState::m_priorWaypoint
protected

Definition at line 639 of file AIStateMachine.h.


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