18#ifndef TRINITY_WAYPOINTMOVEMENTGENERATOR_H
19#define TRINITY_WAYPOINTMOVEMENTGENERATOR_H
31 public PathMovementBase<std::variant<WaypointPath const*, std::unique_ptr<WaypointPath>>>
42 Optional<std::pair<Milliseconds, Milliseconds>> waitTimeRangeAtPathEnd,
Optional<float> wanderDistanceAtPathEnds,
59 void DoFinalize(T* owner,
bool active,
bool movementInform);
68 void StartMove(T* owner,
bool relaunch =
false);
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
MovementWalkRunSpeedSelectionMode
@ MOVEMENTGENERATOR_FLAG_SPEED_UPDATE_PENDING
std::optional< T > Optional
Optional helper class to wrap optional values within.
void AddFlag(uint16 const flag)
void DoDeactivate(T *owner)
bool IsExactSplinePath() const
void Resume(uint32 overrideTimer) override
MovementGeneratorType GetMovementGeneratorType() const override
void UnitSpeedChanged() override
static bool UpdateTimer(TimeTracker &timer, uint32 diff)
void MovementInform(T const *owner) const
WaypointPath const * GetPath() const
std::string GetDebugInfo() const override
void StartMove(T *owner, bool relaunch=false)
std::vector< int32 > _waypointTransitionSplinePoints
Optional< std::pair< Milliseconds, Milliseconds > > _waitTimeRangeAtPathEnd
void DoFinalize(T *owner, bool active, bool movementInform)
MovementWalkRunSpeedSelectionMode _speedSelectionMode
~WaypointMovementGenerator()
Optional< float > _wanderDistanceAtPathEnds
bool DoUpdate(T *owner, uint32 diff)
bool IsFollowingPathBackwardsFromEndToStart() const
bool GetResetPosition(Unit *, float &x, float &y, float &z) override
Optional< TimeTracker > _duration
Optional< MovementFadeObject > _fadeObject
bool UpdateMoveTimer(uint32 diff)
uint32 _waypointTransitionSplinePointsIndex
bool IsLoadedFromDB() const
Optional< bool > _exactSplinePath
TimeTracker _nextMoveTime
void Pause(uint32 timer) override
Optional< bool > _followPathBackwardsFromEndToStart
void DoInitialize(T *owner)
bool UpdateWaitTimer(uint32 diff)