Planeshift
MovementOperation Class Referenceabstract

Abstract common class for Move operations that use paths. More...

#include <npcoperations.h>

Public Member Functions

virtual OperationResult Advance (float timedelta, NPC *npc)
 
bool EndPointChanged (const csVector3 &endPos, const iSector *endSector) const
 
virtual bool GetEndPosition (NPC *npc, const csVector3 &myPos, const iSector *mySector, csVector3 &endPos, iSector *&endSector)=0
 
virtual void InterruptOperation (NPC *npc)
 
virtual bool Load (iDocumentNode *node)
 
 MovementOperation (const char *name)
 
virtual OperationResult Run (NPC *npc, bool interrupted)
 
virtual bool UpdateEndPosition (NPC *npc, const csVector3 &myPos, const iSector *mySector, csVector3 &endPos, iSector *&endSector)=0
 
virtual ~MovementOperation ()
 
- Public Member Functions inherited from ScriptOperation
void AddRandomRange (csVector3 &dest, float radius, float margin=0.0)
 Move a point somwhere random within radius of the orignial point. More...
 
virtual bool AtInterruptedAngle (const csVector3 &pos, const iSector *sector, float angle)
 
virtual bool AtInterruptedAngle (NPC *npc)
 
virtual bool AtInterruptedPosition (const csVector3 &pos, const iSector *sector)
 
virtual bool AtInterruptedPosition (NPC *npc)
 
virtual bool CheckEndPointOk (NPC *npc, const csVector3 &myPos, iSector *mySector, const csVector3 &endPos, iSector *endSector)
 Check if the end point where ok. More...
 
virtual bool CheckMoveOk (NPC *npc, csVector3 oldPos, iSector *oldSector, const csVector3 &newPos, iSector *newSector, int resultFromExtrapolate)
 Check if the move where ok. More...
 
void CopyCheckMoveOk (ScriptOperation *source)
 Copy CheckMoveOk paramters from the source script. More...
 
virtual void Failure (NPC *npc)
 Called when the run operation return OPERATION_FAILED. More...
 
virtual float GetAngularVelocity (NPC *npc)
 
virtual const csString & GetCollisionPerception (NPC *npc)
 Return the Collision perception event name. More...
 
virtual const csString & GetFallingPerception (NPC *npc)
 Return the Falling perception event name. More...
 
virtual const csString & GetInBoundsPerception (NPC *npc)
 Return the In Bounds perception event name. More...
 
virtual const char * GetName () const
 
virtual const csString & GetOutOfBoundsPerception (NPC *npc)
 Return the Out of Bounds perception event name. More...
 
virtual State GetState () const
 
virtual float GetVelocity (NPC *npc)
 Return the velocity for the npc. More...
 
bool LoadCheckMoveOk (iDocumentNode *node)
 Load attributes for the CheckMoveOk check. More...
 
bool LoadVelocity (iDocumentNode *node)
 
virtual ScriptOperationMakeCopy ()=0
 
 ScriptOperation (const char *sciptName)
 
 ScriptOperation (const ScriptOperation *other)
 
void SetAnimation (NPC *npc, const char *name)
 This function will set an animation for the NPC, the animation will play once. More...
 
void SetParent (Behavior *behavior)
 Set the parent behavior for this operation. More...
 
virtual void SetState (State state)
 
virtual ~ScriptOperation ()
 

Protected Member Functions

 MovementOperation (const MovementOperation *other)
 
- Protected Member Functions inherited from ScriptOperation
int StartMoveTo (NPC *npc, const csVector3 &dest, iSector *sector, float vel, const char *action, float &angle)
 This function is used by MoveTo AND Navigate operations. More...
 
void TurnTo (NPC *npc, const csVector3 &dest, iSector *destsect, csVector3 &forward, float &angle)
 

Protected Attributes

csString action
 The animation used during chase. More...
 
float currentDistance
 The distance to the current local destination. More...
 
csVector3 endPos
 
iSector * endSector
 
csRef< iCelHPath > path
 
- Protected Attributes inherited from ScriptOperation
float ang_vel
 Shared angular velocity, used by all that rotates. More...
 
bool checkTribeHome
 Set to true if the tribe home should be checked by CheckMoveOk. More...
 
csString collision
 Perception names to use for collision detected by CheckMoveOk. More...
 
int consecCollisions
 Shared by move functions. Used by CheckMoveOk to detect collisions. More...
 
csString failurePerception
 The Perception to fire when a operation return OPERATION_FAILED. More...
 
csString falling
 Perception names to use for fall detected by CheckMoveOk. More...
 
csString inBounds
 Perception names to use for in bounds detected by CheckMoveOk. More...
 
float interrupted_angle
 
csVector3 interrupted_position
 
iSector * interrupted_sector
 
csString name
 
csString outOfBounds
 Perception names to use for out of bounds detected by CheckMoveOk. More...
 
Behaviorparent
 
State state
 
float vel
 Shared linear velocity, used by all that moves. More...
 
VelSource velSource
 Source used for velocity. More...
 

Additional Inherited Members

- Public Types inherited from ScriptOperation
enum  OperationResult { OPERATION_NOT_COMPLETED, OPERATION_COMPLETED, OPERATION_FAILED }
 
enum  State { READY_TO_RUN, RUNNING, INTERRUPTED, COMPLETED }
 
enum  VelSource { VEL_DEFAULT, VEL_USER, VEL_WALK, VEL_RUN }
 
- Static Protected Member Functions inherited from ScriptOperation
static void StopMovement (NPC *npc)
 Utility function used by many operation to stop movement of an NPC. More...
 

Detailed Description

Abstract common class for Move operations that use paths.

Definition at line 291 of file npcoperations.h.

Constructor & Destructor Documentation

MovementOperation::MovementOperation ( const MovementOperation other)
protected
MovementOperation::MovementOperation ( const char *  name)
virtual MovementOperation::~MovementOperation ( )
inlinevirtual

Definition at line 314 of file npcoperations.h.

Member Function Documentation

virtual OperationResult MovementOperation::Advance ( float  timedelta,
NPC npc 
)
virtual

Reimplemented from ScriptOperation.

bool MovementOperation::EndPointChanged ( const csVector3 &  endPos,
const iSector *  endSector 
) const
virtual bool MovementOperation::GetEndPosition ( NPC npc,
const csVector3 &  myPos,
const iSector *  mySector,
csVector3 &  endPos,
iSector *&  endSector 
)
pure virtual
virtual void MovementOperation::InterruptOperation ( NPC npc)
virtual

Reimplemented from ScriptOperation.

virtual bool MovementOperation::Load ( iDocumentNode *  node)
virtual

Reimplemented from ScriptOperation.

Reimplemented in NavigateOperation, MoveToOperation, and ChaseOperation.

virtual OperationResult MovementOperation::Run ( NPC npc,
bool  interrupted 
)
virtual

Implements ScriptOperation.

virtual bool MovementOperation::UpdateEndPosition ( NPC npc,
const csVector3 &  myPos,
const iSector *  mySector,
csVector3 &  endPos,
iSector *&  endSector 
)
pure virtual

Member Data Documentation

csString MovementOperation::action
protected

The animation used during chase.

Definition at line 305 of file npcoperations.h.

float MovementOperation::currentDistance
protected

The distance to the current local destination.

Definition at line 302 of file npcoperations.h.

csVector3 MovementOperation::endPos
protected

Definition at line 299 of file npcoperations.h.

iSector* MovementOperation::endSector
protected

Definition at line 300 of file npcoperations.h.

csRef<iCelHPath> MovementOperation::path
protected

Definition at line 296 of file npcoperations.h.


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