TrinityCore
RandomMovementGenerator< T > Class Template Reference

#include <RandomMovementGenerator.h>

+ Inheritance diagram for RandomMovementGenerator< T >:

Public Member Functions

 RandomMovementGenerator (float distance=0.0f, Optional< Milliseconds > duration={})
 
MovementGeneratorType GetMovementGeneratorType () const override
 
void Pause (uint32 timer) override
 
void Resume (uint32 overrideTimer) override
 
void DoInitialize (T *)
 
void DoReset (T *)
 
bool DoUpdate (T *, uint32)
 
void DoDeactivate (T *)
 
void DoFinalize (T *, bool, bool)
 
void UnitSpeedChanged () override
 
void DoInitialize (Creature *owner)
 
void DoReset (Creature *owner)
 
bool DoUpdate (Creature *owner, uint32 diff)
 
void DoDeactivate (Creature *owner)
 
void DoFinalize (Creature *owner, bool active, bool movementInform)
 
- Public Member Functions inherited from MovementGeneratorMedium< T, RandomMovementGenerator< T > >
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
 

Private Member Functions

void SetRandomLocation (T *)
 
void SetRandomLocation (Creature *owner)
 

Private Attributes

std::unique_ptr< PathGenerator_path
 
TimeTracker _timer
 
Optional< TimeTracker_duration
 
Position _reference
 
float _wanderDistance
 
uint8 _wanderSteps
 

Additional Inherited Members

- Public Attributes inherited from MovementGenerator
uint8 Mode
 
uint8 Priority
 
uint16 Flags
 
uint32 BaseUnitState
 

Detailed Description

template<class T>
class RandomMovementGenerator< T >

Definition at line 29 of file RandomMovementGenerator.h.

Constructor & Destructor Documentation

◆ RandomMovementGenerator()

template<class T >
template RandomMovementGenerator< T >::RandomMovementGenerator ( float  distance = 0.0f,
Optional< Milliseconds duration = {} 
)
explicit

Definition at line 28 of file RandomMovementGenerator.cpp.

Member Function Documentation

◆ DoDeactivate() [1/2]

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

Definition at line 245 of file RandomMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoDeactivate() [2/2]

template<class T >
void RandomMovementGenerator< T >::DoDeactivate ( T *  )

Definition at line 242 of file RandomMovementGenerator.cpp.

◆ DoFinalize() [1/2]

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

Definition at line 255 of file RandomMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoFinalize() [2/2]

template<class T >
void RandomMovementGenerator< T >::DoFinalize ( T *  ,
bool  ,
bool   
)

Definition at line 252 of file RandomMovementGenerator.cpp.

◆ DoInitialize() [1/2]

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

Definition at line 77 of file RandomMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoInitialize() [2/2]

template<class T >
void RandomMovementGenerator< T >::DoInitialize ( T *  )

Definition at line 74 of file RandomMovementGenerator.cpp.

◆ DoReset() [1/2]

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

Definition at line 102 of file RandomMovementGenerator.cpp.

◆ DoReset() [2/2]

template<class T >
void RandomMovementGenerator< T >::DoReset ( T *  )

Definition at line 99 of file RandomMovementGenerator.cpp.

◆ DoUpdate() [1/2]

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

Definition at line 205 of file RandomMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ DoUpdate() [2/2]

template<class T >
bool RandomMovementGenerator< T >::DoUpdate ( T *  ,
uint32   
)

Definition at line 199 of file RandomMovementGenerator.cpp.

◆ GetMovementGeneratorType()

template<class T >
template MovementGeneratorType RandomMovementGenerator< T >::GetMovementGeneratorType ( ) const
overridevirtual

Implements MovementGenerator.

Definition at line 41 of file RandomMovementGenerator.cpp.

◆ Pause()

template<class T >
void RandomMovementGenerator< T >::Pause ( uint32  timer)
overridevirtual

Reimplemented from MovementGenerator.

Definition at line 47 of file RandomMovementGenerator.cpp.

◆ Resume()

template<class T >
void RandomMovementGenerator< T >::Resume ( uint32  overrideTimer)
overridevirtual

Reimplemented from MovementGenerator.

Definition at line 63 of file RandomMovementGenerator.cpp.

◆ SetRandomLocation() [1/2]

void RandomMovementGenerator< Creature >::SetRandomLocation ( Creature owner)
private

Definition at line 113 of file RandomMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ SetRandomLocation() [2/2]

template<class T >
void RandomMovementGenerator< T >::SetRandomLocation ( T *  )
private

Definition at line 110 of file RandomMovementGenerator.cpp.

◆ UnitSpeedChanged()

template<class T >
void RandomMovementGenerator< T >::UnitSpeedChanged ( )
inlineoverridevirtual

Reimplemented from MovementGenerator.

Definition at line 45 of file RandomMovementGenerator.h.

+ Here is the call graph for this function:

Member Data Documentation

◆ _duration

template<class T >
Optional<TimeTracker> RandomMovementGenerator< T >::_duration
private

Definition at line 52 of file RandomMovementGenerator.h.

◆ _path

template<class T >
std::unique_ptr<PathGenerator> RandomMovementGenerator< T >::_path
private

Definition at line 50 of file RandomMovementGenerator.h.

◆ _reference

template<class T >
Position RandomMovementGenerator< T >::_reference
private

Definition at line 53 of file RandomMovementGenerator.h.

◆ _timer

template<class T >
TimeTracker RandomMovementGenerator< T >::_timer
private

Definition at line 51 of file RandomMovementGenerator.h.

◆ _wanderDistance

template<class T >
float RandomMovementGenerator< T >::_wanderDistance
private

Definition at line 54 of file RandomMovementGenerator.h.

◆ _wanderSteps

template<class T >
uint8 RandomMovementGenerator< T >::_wanderSteps
private

Definition at line 55 of file RandomMovementGenerator.h.


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