TrinityCore
WaypointMovementGenerator< Creature > Class Reference

#include <WaypointMovementGenerator.h>

+ Inheritance diagram for WaypointMovementGenerator< Creature >:

Public Member Functions

 WaypointMovementGenerator (uint32 pathId, bool repeating, Optional< Milliseconds > duration={}, Optional< float > speed={}, MovementWalkRunSpeedSelectionMode speedSelectionMode=MovementWalkRunSpeedSelectionMode::Default, Optional< std::pair< Milliseconds, Milliseconds > > waitTimeRangeAtPathEnd={}, Optional< float > wanderDistanceAtPathEnds={}, Optional< bool > followPathBackwardsFromEndToStart={}, bool generatePath=true)
 
 WaypointMovementGenerator (WaypointPath const &path, bool repeating, Optional< Milliseconds > duration, Optional< float > speed, MovementWalkRunSpeedSelectionMode speedSelectionMode, Optional< std::pair< Milliseconds, Milliseconds > > waitTimeRangeAtPathEnd, Optional< float > wanderDistanceAtPathEnds, Optional< bool > followPathBackwardsFromEndToStart, bool generatePath)
 
 ~WaypointMovementGenerator ()
 
MovementGeneratorType GetMovementGeneratorType () const override
 
void UnitSpeedChanged () override
 
void Pause (uint32 timer) override
 
void Resume (uint32 overrideTimer) override
 
bool GetResetPosition (Unit *, float &x, float &y, float &z) override
 
void DoInitialize (Creature *)
 
void DoReset (Creature *)
 
bool DoUpdate (Creature *, uint32)
 
void DoDeactivate (Creature *)
 
void DoFinalize (Creature *, bool, bool)
 
WaypointPath const * GetPath () const
 
std::string GetDebugInfo () const override
 
- Public Member Functions inherited from MovementGeneratorMedium< Creature, WaypointMovementGenerator< Creature > >
void Initialize (Unit *owner) override
 
void Reset (Unit *owner) override
 
bool Update (Unit *owner, uint32 diff) override
 
void Deactivate (Unit *owner) override
 
void Finalize (Unit *owner, bool active, bool movementInform) override
 
- Public Member Functions inherited from MovementGenerator
 MovementGenerator ()
 
 MovementGenerator (MovementGenerator const &)=delete
 
 MovementGenerator (MovementGenerator &&)=delete
 
MovementGeneratoroperator= (MovementGenerator const &)=delete
 
MovementGeneratoroperator= (MovementGenerator &&)=delete
 
virtual ~MovementGenerator ()
 
virtual void Initialize (Unit *owner)=0
 
virtual void Reset (Unit *owner)=0
 
virtual bool Update (Unit *owner, uint32 diff)=0
 
virtual void Deactivate (Unit *owner)=0
 
virtual void Finalize (Unit *owner, bool active, bool movementInform)=0
 
virtual MovementGeneratorType GetMovementGeneratorType () const =0
 
virtual void UnitSpeedChanged ()
 
virtual void Pause (uint32)
 
virtual void Resume (uint32)
 
virtual bool GetResetPosition (Unit *, float &, float &, float &)
 
void AddFlag (uint16 const flag)
 
bool HasFlag (uint16 const flag) const
 
void RemoveFlag (uint16 const flag)
 
virtual std::string GetDebugInfo () const
 
- Public Member Functions inherited from PathMovementBase< Creature, std::variant< WaypointPath const *, std::unique_ptr< WaypointPath > > >
 PathMovementBase ()
 
virtual ~PathMovementBase ()
 
uint32 GetCurrentNode () const
 
virtual std::string GetDebugInfo () const
 

Private Member Functions

void MovementInform (Creature *)
 
void OnArrived (Creature *)
 
void StartMove (Creature *, bool relaunch=false)
 
bool ComputeNextNode ()
 
bool UpdateTimer (uint32 diff)
 
bool IsFollowingPathBackwardsFromEndToStart () const
 

Private Attributes

TimeTracker _nextMoveTime
 
uint32 _pathId
 
bool _repeating
 
bool _loadedFromDB
 
Optional< TimeTracker_duration
 
Optional< float > _speed
 
MovementWalkRunSpeedSelectionMode _speedSelectionMode
 
Optional< std::pair< Milliseconds, Milliseconds > > _waitTimeRangeAtPathEnd
 
Optional< float > _wanderDistanceAtPathEnds
 
Optional< bool > _followPathBackwardsFromEndToStart
 
bool _isReturningToStart
 
bool _generatePath
 

Additional Inherited Members

- Public Attributes inherited from MovementGenerator
uint8 Mode
 
uint8 Priority
 
uint16 Flags
 
uint32 BaseUnitState
 
- Protected Attributes inherited from PathMovementBase< Creature, std::variant< WaypointPath const *, std::unique_ptr< WaypointPath > > >
std::variant< WaypointPath const *, std::unique_ptr< WaypointPath > > _path
 
uint32 _currentNode
 

Detailed Description

Definition at line 34 of file WaypointMovementGenerator.h.

Constructor & Destructor Documentation

◆ WaypointMovementGenerator() [1/2]

WaypointMovementGenerator< Creature >::WaypointMovementGenerator ( uint32  pathId,
bool  repeating,
Optional< Milliseconds duration = {},
Optional< float >  speed = {},
MovementWalkRunSpeedSelectionMode  speedSelectionMode = MovementWalkRunSpeedSelectionMode::Default,
Optional< std::pair< Milliseconds, Milliseconds > >  waitTimeRangeAtPathEnd = {},
Optional< float >  wanderDistanceAtPathEnds = {},
Optional< bool >  followPathBackwardsFromEndToStart = {},
bool  generatePath = true 
)
explicit

Definition at line 31 of file WaypointMovementGenerator.cpp.

◆ WaypointMovementGenerator() [2/2]

WaypointMovementGenerator< Creature >::WaypointMovementGenerator ( WaypointPath const &  path,
bool  repeating,
Optional< Milliseconds duration,
Optional< float >  speed,
MovementWalkRunSpeedSelectionMode  speedSelectionMode,
Optional< std::pair< Milliseconds, Milliseconds > >  waitTimeRangeAtPathEnd,
Optional< float >  wanderDistanceAtPathEnds,
Optional< bool >  followPathBackwardsFromEndToStart,
bool  generatePath 
)
explicit

Definition at line 47 of file WaypointMovementGenerator.cpp.

◆ ~WaypointMovementGenerator()

Member Function Documentation

◆ ComputeNextNode()

bool WaypointMovementGenerator< Creature >::ComputeNextNode ( )
private

Definition at line 429 of file WaypointMovementGenerator.cpp.

◆ DoDeactivate()

void WaypointMovementGenerator< Creature >::DoDeactivate ( Creature owner)

Definition at line 245 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoFinalize()

void WaypointMovementGenerator< Creature >::DoFinalize ( Creature owner,
bool  active,
bool   
)

Definition at line 251 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoInitialize()

void WaypointMovementGenerator< Creature >::DoInitialize ( Creature owner)

Definition at line 118 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoReset()

void WaypointMovementGenerator< Creature >::DoReset ( Creature owner)

Definition at line 144 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoUpdate()

bool WaypointMovementGenerator< Creature >::DoUpdate ( Creature owner,
uint32  diff 
)

Definition at line 154 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ GetDebugInfo()

std::string WaypointMovementGenerator< Creature >::GetDebugInfo ( ) const
overridevirtual

Reimplemented from PathMovementBase< Creature, std::variant< WaypointPath const *, std::unique_ptr< WaypointPath > > >.

Definition at line 467 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ GetMovementGeneratorType()

MovementGeneratorType WaypointMovementGenerator< Creature >::GetMovementGeneratorType ( ) const
overridevirtual

Implements MovementGenerator.

Definition at line 67 of file WaypointMovementGenerator.cpp.

◆ GetPath()

WaypointPath const * WaypointMovementGenerator< Creature >::GetPath ( ) const
inline

Definition at line 61 of file WaypointMovementGenerator.h.

◆ GetResetPosition()

bool WaypointMovementGenerator< Creature >::GetResetPosition ( Unit ,
float &  x,
float &  y,
float &  z 
)
overridevirtual

Reimplemented from MovementGenerator.

Definition at line 103 of file WaypointMovementGenerator.cpp.

◆ IsFollowingPathBackwardsFromEndToStart()

bool WaypointMovementGenerator< Creature >::IsFollowingPathBackwardsFromEndToStart ( ) const
private

Definition at line 459 of file WaypointMovementGenerator.cpp.

◆ MovementInform()

void WaypointMovementGenerator< Creature >::MovementInform ( Creature owner)
private

Definition at line 263 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ OnArrived()

void WaypointMovementGenerator< Creature >::OnArrived ( Creature owner)
private

Definition at line 273 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ Pause()

void WaypointMovementGenerator< Creature >::Pause ( uint32  timer)
overridevirtual

Reimplemented from MovementGenerator.

Definition at line 72 of file WaypointMovementGenerator.cpp.

◆ Resume()

void WaypointMovementGenerator< Creature >::Resume ( uint32  overrideTimer)
overridevirtual

Reimplemented from MovementGenerator.

Definition at line 92 of file WaypointMovementGenerator.cpp.

◆ StartMove()

void WaypointMovementGenerator< Creature >::StartMove ( Creature owner,
bool  relaunch = false 
)
private

If creature is on transport, we assume waypoints set in DB are already transport offsets

Do not use formationDest here, MoveTo requires transport offsets due to DisableTransportPathTransformations() call but formationDest contains global coordinates

Definition at line 305 of file WaypointMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ UnitSpeedChanged()

void WaypointMovementGenerator< Creature >::UnitSpeedChanged ( )
inlineoverridevirtual

Reimplemented from MovementGenerator.

Definition at line 50 of file WaypointMovementGenerator.h.

◆ UpdateTimer()

bool WaypointMovementGenerator< Creature >::UpdateTimer ( uint32  diff)
inlineprivate

Definition at line 70 of file WaypointMovementGenerator.h.

Member Data Documentation

◆ _duration

Definition at line 88 of file WaypointMovementGenerator.h.

◆ _followPathBackwardsFromEndToStart

Optional<bool> WaypointMovementGenerator< Creature >::_followPathBackwardsFromEndToStart
private

Definition at line 93 of file WaypointMovementGenerator.h.

◆ _generatePath

bool WaypointMovementGenerator< Creature >::_generatePath
private

Definition at line 95 of file WaypointMovementGenerator.h.

◆ _isReturningToStart

bool WaypointMovementGenerator< Creature >::_isReturningToStart
private

Definition at line 94 of file WaypointMovementGenerator.h.

◆ _loadedFromDB

bool WaypointMovementGenerator< Creature >::_loadedFromDB
private

Definition at line 86 of file WaypointMovementGenerator.h.

◆ _nextMoveTime

TimeTracker WaypointMovementGenerator< Creature >::_nextMoveTime
private

Definition at line 83 of file WaypointMovementGenerator.h.

◆ _pathId

Definition at line 84 of file WaypointMovementGenerator.h.

◆ _repeating

bool WaypointMovementGenerator< Creature >::_repeating
private

Definition at line 85 of file WaypointMovementGenerator.h.

◆ _speed

Optional<float> WaypointMovementGenerator< Creature >::_speed
private

Definition at line 89 of file WaypointMovementGenerator.h.

◆ _speedSelectionMode

Definition at line 90 of file WaypointMovementGenerator.h.

◆ _waitTimeRangeAtPathEnd

Optional<std::pair<Milliseconds, Milliseconds> > WaypointMovementGenerator< Creature >::_waitTimeRangeAtPathEnd
private

Definition at line 91 of file WaypointMovementGenerator.h.

◆ _wanderDistanceAtPathEnds

Optional<float> WaypointMovementGenerator< Creature >::_wanderDistanceAtPathEnds
private

Definition at line 92 of file WaypointMovementGenerator.h.


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