TrinityCore
SplineChainMovementGenerator Class Reference

#include <SplineChainMovementGenerator.h>

+ Inheritance diagram for SplineChainMovementGenerator:

Public Member Functions

 SplineChainMovementGenerator (uint32 id, std::vector< SplineChainLink > const &chain, bool walk=false)
 
 SplineChainMovementGenerator (SplineChainResumeInfo const &info)
 
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
 
SplineChainResumeInfo GetResumeInfo (Unit const *owner) const
 
uint32 GetId () const
 
- 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
 

Static Public Member Functions

static void GetResumeInfo (SplineChainResumeInfo &info, Unit const *owner, Optional< uint32 > id={})
 

Private Member Functions

void SendSplineFor (Unit *owner, uint32 index, uint32 &duration)
 
uint32 SendPathSpline (Unit *owner, float velocity, Movement::PointsArray const &path) const
 

Private Attributes

uint32 const _id
 
std::vector< SplineChainLink > const & _chain
 
uint8 const _chainSize
 
bool const _walk
 
uint8 _nextIndex
 
uint8 _nextFirstWP
 
uint32 _msToNext
 

Additional Inherited Members

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

Detailed Description

Definition at line 28 of file SplineChainMovementGenerator.h.

Constructor & Destructor Documentation

◆ SplineChainMovementGenerator() [1/2]

SplineChainMovementGenerator::SplineChainMovementGenerator ( uint32  id,
std::vector< SplineChainLink > const &  chain,
bool  walk = false 
)
explicit

Definition at line 29 of file SplineChainMovementGenerator.cpp.

◆ SplineChainMovementGenerator() [2/2]

SplineChainMovementGenerator::SplineChainMovementGenerator ( SplineChainResumeInfo const &  info)
explicit

Definition at line 37 of file SplineChainMovementGenerator.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ Deactivate()

void SplineChainMovementGenerator::Deactivate ( Unit owner)
overridevirtual

Implements MovementGenerator.

Definition at line 182 of file SplineChainMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ Finalize()

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

Implements MovementGenerator.

Definition at line 188 of file SplineChainMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ GetId()

uint32 SplineChainMovementGenerator::GetId ( ) const
inline

Definition at line 46 of file SplineChainMovementGenerator.h.

+ Here is the caller graph for this function:

◆ GetMovementGeneratorType()

MovementGeneratorType SplineChainMovementGenerator::GetMovementGeneratorType ( ) const
overridevirtual

Implements MovementGenerator.

Definition at line 203 of file SplineChainMovementGenerator.cpp.

◆ GetResumeInfo() [1/2]

void SplineChainMovementGenerator::GetResumeInfo ( SplineChainResumeInfo info,
Unit const *  owner,
Optional< uint32 id = {} 
)
static

Definition at line 224 of file SplineChainMovementGenerator.cpp.

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

◆ GetResumeInfo() [2/2]

SplineChainResumeInfo SplineChainMovementGenerator::GetResumeInfo ( Unit const *  owner) const

Definition at line 208 of file SplineChainMovementGenerator.cpp.

◆ Initialize()

void SplineChainMovementGenerator::Initialize ( Unit owner)
overridevirtual

Implements MovementGenerator.

Definition at line 84 of file SplineChainMovementGenerator.cpp.

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

◆ Reset()

void SplineChainMovementGenerator::Reset ( Unit owner)
overridevirtual

Implements MovementGenerator.

Definition at line 138 of file SplineChainMovementGenerator.cpp.

+ Here is the call graph for this function:

◆ SendPathSpline()

uint32 SplineChainMovementGenerator::SendPathSpline ( Unit owner,
float  velocity,
Movement::PointsArray const &  path 
) const
private

Definition at line 49 of file SplineChainMovementGenerator.cpp.

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

◆ SendSplineFor()

void SplineChainMovementGenerator::SendSplineFor ( Unit owner,
uint32  index,
uint32 duration 
)
private

Definition at line 66 of file SplineChainMovementGenerator.cpp.

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

◆ Update()

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

Implements MovementGenerator.

Definition at line 146 of file SplineChainMovementGenerator.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ _chain

std::vector<SplineChainLink> const& SplineChainMovementGenerator::_chain
private

Definition at line 53 of file SplineChainMovementGenerator.h.

◆ _chainSize

uint8 const SplineChainMovementGenerator::_chainSize
private

Definition at line 54 of file SplineChainMovementGenerator.h.

◆ _id

uint32 const SplineChainMovementGenerator::_id
private

Definition at line 52 of file SplineChainMovementGenerator.h.

◆ _msToNext

uint32 SplineChainMovementGenerator::_msToNext
private

Definition at line 58 of file SplineChainMovementGenerator.h.

◆ _nextFirstWP

uint8 SplineChainMovementGenerator::_nextFirstWP
private

Definition at line 57 of file SplineChainMovementGenerator.h.

◆ _nextIndex

uint8 SplineChainMovementGenerator::_nextIndex
private

Definition at line 56 of file SplineChainMovementGenerator.h.

◆ _walk

bool const SplineChainMovementGenerator::_walk
private

Definition at line 55 of file SplineChainMovementGenerator.h.


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