TrinityCore
Loading...
Searching...
No Matches
FollowMovementGenerator Class Reference

#include <FollowMovementGenerator.h>

+ Inheritance diagram for FollowMovementGenerator:

Public Member Functions

 FollowMovementGenerator (Unit *target, float range, Optional< ChaseAngle > angle, Optional< Milliseconds > duration, bool ignoreTargetWalk=false, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={})
 
 ~FollowMovementGenerator ()
 
bool Initialize (Unit *) override
 
bool 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
 
MovementGenerator & operator= (MovementGenerator const &)=delete
 
MovementGenerator & operator= (MovementGenerator &&)=delete
 
virtual ~MovementGenerator ()
 
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)
 
Unit * GetTarget () const
 

Private Member Functions

void UpdatePetSpeed (Unit *owner)
 

Private Attributes

float const _range
 
Optional< ChaseAngle const > _angle
 
bool _ignoreTargetWalk
 
TimeTracker _checkTimer
 
Optional< TimeTracker > _duration
 
std::unique_ptr< PathGenerator > _path
 
Optional< Position > _lastTargetPosition
 

Static Private Attributes

static constexpr uint32 CHECK_INTERVAL = 100
 

Additional Inherited Members

- Public Attributes inherited from MovementGenerator
uint8 Priority
 
uint16 Flags
 
uint32 BaseUnitState
 
Scripting::v2::ActionResultSetter< MovementStopReason > ScriptResult
 
- Protected Member Functions inherited from MovementGenerator
void SetScriptResult (MovementStopReason reason)
 

Detailed Description

Definition at line 32 of file FollowMovementGenerator.h.

Constructor & Destructor Documentation

◆ FollowMovementGenerator()

FollowMovementGenerator::FollowMovementGenerator ( Unit *  target,
float  range,
Optional< ChaseAngle >  angle,
Optional< Milliseconds >  duration,
bool  ignoreTargetWalk = false,
Scripting::v2::ActionResultSetter< MovementStopReason > &&  scriptResult = {} 
)
explicit

◆ ~FollowMovementGenerator()

FollowMovementGenerator::~FollowMovementGenerator ( )
default

Member Function Documentation

◆ Deactivate()

◆ Finalize()

void FollowMovementGenerator::Finalize ( Unit *  owner,
bool  active,
bool  movementInform 
)
overridevirtual

◆ GetMovementGeneratorType()

MovementGeneratorType FollowMovementGenerator::GetMovementGeneratorType ( ) const
inlineoverridevirtual

Implements MovementGenerator.

Definition at line 44 of file FollowMovementGenerator.h.

References FOLLOW_MOTION_TYPE.

◆ Initialize()

◆ Reset()

bool FollowMovementGenerator::Reset ( Unit *  owner)
overridevirtual

◆ UnitSpeedChanged()

void FollowMovementGenerator::UnitSpeedChanged ( )
inlineoverridevirtual

Reimplemented from MovementGenerator.

Definition at line 46 of file FollowMovementGenerator.h.

References _lastTargetPosition.

◆ Update()

◆ UpdatePetSpeed()

void FollowMovementGenerator::UpdatePetSpeed ( Unit *  owner)
private

Member Data Documentation

◆ _angle

Optional<ChaseAngle const> FollowMovementGenerator::_angle
private

Definition at line 54 of file FollowMovementGenerator.h.

Referenced by Update().

◆ _checkTimer

TimeTracker FollowMovementGenerator::_checkTimer
private

Definition at line 57 of file FollowMovementGenerator.h.

Referenced by Update().

◆ _duration

Optional<TimeTracker> FollowMovementGenerator::_duration
private

Definition at line 58 of file FollowMovementGenerator.h.

Referenced by FollowMovementGenerator(), and Update().

◆ _ignoreTargetWalk

bool FollowMovementGenerator::_ignoreTargetWalk
private

Definition at line 55 of file FollowMovementGenerator.h.

Referenced by Update().

◆ _lastTargetPosition

Optional<Position> FollowMovementGenerator::_lastTargetPosition
private

Definition at line 60 of file FollowMovementGenerator.h.

Referenced by Initialize(), UnitSpeedChanged(), and Update().

◆ _path

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

Definition at line 59 of file FollowMovementGenerator.h.

Referenced by Initialize(), and Update().

◆ _range

float const FollowMovementGenerator::_range
private

Definition at line 53 of file FollowMovementGenerator.h.

Referenced by Update().

◆ CHECK_INTERVAL

constexpr uint32 FollowMovementGenerator::CHECK_INTERVAL = 100
staticconstexprprivate

Definition at line 49 of file FollowMovementGenerator.h.

Referenced by Update().


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