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
 
StateMachinegetMachine ()
 return the machine this state is part of
 
StateID getID () const
 get this state's id
 
ObjectgetMachineOwner ()
 
const ObjectgetMachineOwner () const
 
ObjectgetMachineGoalObject ()
 return the machine this state is part of
 
const ObjectgetMachineGoalObject () const
 return the machine this state is part of
 
const Coord3DgetMachineGoalPosition () 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 WaypointgetNextWaypoint (void)
 
Bool hasNextWaypoint (void)
 
- Protected Member Functions inherited from AIInternalMoveToState
void setAdjustsDestination (Bool b)
 
Bool getAdjustsDestination () const
 
void setGoalPos (const Coord3D *pos)
 
const Coord3DgetGoalPos () 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 MemoryPoolgetObjectMemoryPool ()=0
 

Protected Attributes

Coord2D m_groupOffset
 
Real m_angle
 
Int m_framesSleeping
 
const Waypointm_currentWaypoint
 
const Waypointm_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: