TrinityCore
ChaseMovementGenerator Class Reference

#include <ChaseMovementGenerator.h>

+ Inheritance diagram for ChaseMovementGenerator:

Public Member Functions

 ChaseMovementGenerator (Unit *target, Optional< ChaseRange > range={}, Optional< ChaseAngle > angle={})
 
 ~ChaseMovementGenerator ()
 
void Initialize (Unit *) override
 
void Reset (Unit *) override
 
bool Update (Unit *, uint32) override
 
void Deactivate (Unit *) override
 
void Finalize (Unit *, bool, bool) override
 
MovementGeneratorType GetMovementGeneratorType () const override
 
void UnitSpeedChanged () 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 AbstractFollower
 AbstractFollower (Unit *target=nullptr)
 
 ~AbstractFollower ()
 
void SetTarget (Unit *unit)
 
UnitGetTarget () const
 

Private Attributes

Optional< ChaseRange > const _range
 
Optional< ChaseAngle > const _angle
 
std::unique_ptr< PathGenerator_path
 
Optional< Position_lastTargetPosition
 
TimeTracker _rangeCheckTimer
 
bool _movingTowards = true
 
bool _mutualChase = true
 

Static Private Attributes

static constexpr uint32 RANGE_CHECK_INTERVAL = 100
 

Additional Inherited Members

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

Detailed Description

Definition at line 31 of file ChaseMovementGenerator.h.

Constructor & Destructor Documentation

◆ ChaseMovementGenerator()

ChaseMovementGenerator::ChaseMovementGenerator ( Unit target,
Optional< ChaseRange range = {},
Optional< ChaseAngle angle = {} 
)
explicit

Definition at line 68 of file ChaseMovementGenerator.cpp.

◆ ~ChaseMovementGenerator()

ChaseMovementGenerator::~ChaseMovementGenerator ( )
default

Member Function Documentation

◆ Deactivate()

void ChaseMovementGenerator::Deactivate ( Unit owner)
overridevirtual

Implements MovementGenerator.

Definition at line 246 of file ChaseMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ Finalize()

void ChaseMovementGenerator::Finalize ( Unit owner,
bool  active,
bool   
)
overridevirtual

Implements MovementGenerator.

Definition at line 255 of file ChaseMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ GetMovementGeneratorType()

MovementGeneratorType ChaseMovementGenerator::GetMovementGeneratorType ( ) const
inlineoverridevirtual

Implements MovementGenerator.

Definition at line 42 of file ChaseMovementGenerator.h.

◆ Initialize()

void ChaseMovementGenerator::Initialize ( Unit )
overridevirtual

Implements MovementGenerator.

Definition at line 78 of file ChaseMovementGenerator.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Reset()

void ChaseMovementGenerator::Reset ( Unit owner)
overridevirtual

Implements MovementGenerator.

Definition at line 87 of file ChaseMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ UnitSpeedChanged()

void ChaseMovementGenerator::UnitSpeedChanged ( )
inlineoverridevirtual

Reimplemented from MovementGenerator.

Definition at line 44 of file ChaseMovementGenerator.h.

◆ Update()

bool ChaseMovementGenerator::Update ( Unit owner,
uint32  diff 
)
overridevirtual

Implements MovementGenerator.

Definition at line 94 of file ChaseMovementGenerator.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ _angle

Optional<ChaseAngle> const ChaseMovementGenerator::_angle
private

Definition at line 50 of file ChaseMovementGenerator.h.

◆ _lastTargetPosition

Optional<Position> ChaseMovementGenerator::_lastTargetPosition
private

Definition at line 53 of file ChaseMovementGenerator.h.

◆ _movingTowards

bool ChaseMovementGenerator::_movingTowards = true
private

Definition at line 55 of file ChaseMovementGenerator.h.

◆ _mutualChase

bool ChaseMovementGenerator::_mutualChase = true
private

Definition at line 56 of file ChaseMovementGenerator.h.

◆ _path

std::unique_ptr<PathGenerator> ChaseMovementGenerator::_path
private

Definition at line 52 of file ChaseMovementGenerator.h.

◆ _range

Optional<ChaseRange> const ChaseMovementGenerator::_range
private

Definition at line 49 of file ChaseMovementGenerator.h.

◆ _rangeCheckTimer

TimeTracker ChaseMovementGenerator::_rangeCheckTimer
private

Definition at line 54 of file ChaseMovementGenerator.h.

◆ RANGE_CHECK_INTERVAL

constexpr uint32 ChaseMovementGenerator::RANGE_CHECK_INTERVAL = 100
staticconstexprprivate

Definition at line 47 of file ChaseMovementGenerator.h.


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