TrinityCore
Loading...
Searching...
No Matches
Movement::MoveSpline Class Reference

#include <MoveSpline.h>

Public Types

enum  UpdateResult { Result_None = 0x01 , Result_Arrived = 0x02 , Result_NextCycle = 0x04 , Result_NextSegment = 0x08 }
 
typedef Spline< int32 > MySpline
 

Public Member Functions

int32 timeRemaining () const
 
int32 timePassed () const
 
int32 Duration () const
 
MySpline const & _Spline () const
 
int32 _currentSplineIdx () const
 
float Velocity () const
 
void _Finalize ()
 
void _Interrupt ()
 
void Initialize (MoveSplineInitArgs const &)
 
bool Initialized () const
 
 MoveSpline ()
 
template<class UpdateHandler >
void updateState (int32 difftime, UpdateHandler &handler)
 
void updateState (int32 difftime)
 
Location ComputePosition () const
 
Location ComputePosition (int32 time_offset) const
 
uint32 GetId () const
 
bool Finalized () const
 
bool isCyclic () const
 
bool isFalling () const
 
bool isTurning () const
 
Vector3 const & FinalDestination () const
 
Vector3 const & CurrentDestination () const
 
int32 currentPathIdx () const
 
Optional< AnimTier > GetAnimation () const
 
std::string ToString () const
 
bool HasStarted () const
 

Public Attributes

bool onTransport
 
bool splineIsFacingOnly
 

Protected Member Functions

void init_spline (MoveSplineInitArgs const &args)
 
MySpline::ControlArray const & getPath () const
 
Location computePosition (int32 time_point, int32 point_index) const
 
void computeParabolicElevation (int32 time_point, float &el) const
 
void computeFallElevation (int32 time_point, float &el) const
 
UpdateResult _updateState (int32 &ms_time_diff)
 ============================================================================================
 
void reinit_spline_for_next_cycle ()
 
int32 next_timestamp () const
 
int32 segment_time_elapsed () const
 

Protected Attributes

MySpline spline
 
FacingInfo facing
 
uint32 m_Id
 
MoveSplineFlag splineflags
 
int32 time_passed
 
float vertical_acceleration
 
float initialOrientation
 
int32 effect_start_time
 
int32 point_Idx
 
int32 point_Idx_offset
 
float velocity
 
Optional< SpellEffectExtraData > spell_effect_extra
 
Optional< TurnData > turn
 
Optional< AnimTierTransition > anim_tier
 

Friends

class WorldPackets::Movement::CommonMovement
 
class WorldPackets::Movement::MonsterMove
 

Detailed Description

Definition at line 51 of file MoveSpline.h.

Member Typedef Documentation

◆ MySpline

Definition at line 57 of file MoveSpline.h.

Member Enumeration Documentation

◆ UpdateResult

Enumerator
Result_None 
Result_Arrived 
Result_NextCycle 
Result_NextSegment 

Definition at line 59 of file MoveSpline.h.

Constructor & Destructor Documentation

◆ MoveSpline()

Movement::MoveSpline::MoveSpline ( )

Definition at line 251 of file MoveSpline.cpp.

References splineflags.

Member Function Documentation

◆ _currentSplineIdx()

int32 Movement::MoveSpline::_currentSplineIdx ( ) const
inline

Definition at line 108 of file MoveSpline.h.

◆ _Finalize()

void Movement::MoveSpline::_Finalize ( )

Definition at line 425 of file MoveSpline.cpp.

References Duration(), Movement::SplineBase::last(), point_Idx, spline, splineflags, and time_passed.

Referenced by _updateState().

◆ _Interrupt()

void Movement::MoveSpline::_Interrupt ( )
inline

Definition at line 111 of file MoveSpline.h.

◆ _Spline()

MySpline const & Movement::MoveSpline::_Spline ( ) const
inline

◆ _updateState()

MoveSpline::UpdateResult Movement::MoveSpline::_updateState ( int32 &  ms_time_diff)
protected

◆ computeFallElevation()

void Movement::MoveSpline::computeFallElevation ( int32  time_point,
float &  el 
) const
protected

◆ computeParabolicElevation()

void Movement::MoveSpline::computeParabolicElevation ( int32  time_point,
float &  el 
) const
protected

◆ ComputePosition() [1/2]

Location Movement::MoveSpline::ComputePosition ( ) const

◆ ComputePosition() [2/2]

Location Movement::MoveSpline::ComputePosition ( int32  time_offset) const

◆ computePosition()

◆ CurrentDestination()

Vector3 const & Movement::MoveSpline::CurrentDestination ( ) const
inline

Definition at line 144 of file MoveSpline.h.

References Movement::SplineBase::getPoint().

◆ currentPathIdx()

int32 Movement::MoveSpline::currentPathIdx ( ) const

◆ Duration()

◆ FinalDestination()

Vector3 const & Movement::MoveSpline::FinalDestination ( ) const
inline

◆ Finalized()

◆ GetAnimation()

Optional< AnimTier > Movement::MoveSpline::GetAnimation ( ) const
inline

Definition at line 147 of file MoveSpline.h.

◆ GetId()

uint32 Movement::MoveSpline::GetId ( ) const
inline

◆ getPath()

MySpline::ControlArray const & Movement::MoveSpline::getPath ( ) const
inlineprotected

◆ HasStarted()

bool Movement::MoveSpline::HasStarted ( ) const
inline

Definition at line 152 of file MoveSpline.h.

◆ init_spline()

◆ Initialize()

◆ Initialized()

bool Movement::MoveSpline::Initialized ( ) const
inline

Definition at line 115 of file MoveSpline.h.

References Movement::SplineBase::empty().

Referenced by computePosition().

◆ isCyclic()

bool Movement::MoveSpline::isCyclic ( ) const
inline

◆ isFalling()

bool Movement::MoveSpline::isFalling ( ) const
inline

Definition at line 141 of file MoveSpline.h.

◆ isTurning()

bool Movement::MoveSpline::isTurning ( ) const
inline

Definition at line 142 of file MoveSpline.h.

Referenced by Movement::MoveSplineInit::Stop().

◆ next_timestamp()

int32 Movement::MoveSpline::next_timestamp ( ) const
inlineprotected

Definition at line 100 of file MoveSpline.h.

References Movement::Spline< length_type >::length().

Referenced by _updateState().

◆ reinit_spline_for_next_cycle()

◆ segment_time_elapsed()

int32 Movement::MoveSpline::segment_time_elapsed ( ) const
inlineprotected

Definition at line 101 of file MoveSpline.h.

Referenced by _updateState().

◆ timePassed()

int32 Movement::MoveSpline::timePassed ( ) const
inline

◆ timeRemaining()

int32 Movement::MoveSpline::timeRemaining ( ) const
inline

Definition at line 104 of file MoveSpline.h.

References Duration.

◆ ToString()

◆ updateState() [1/2]

void Movement::MoveSpline::updateState ( int32  difftime)
inline

Definition at line 128 of file MoveSpline.h.

References ASSERT.

◆ updateState() [2/2]

template<class UpdateHandler >
void Movement::MoveSpline::updateState ( int32  difftime,
UpdateHandler &  handler 
)
inline

Definition at line 120 of file MoveSpline.h.

References ASSERT.

◆ Velocity()

float Movement::MoveSpline::Velocity ( ) const
inline

Definition at line 109 of file MoveSpline.h.

Friends And Related Symbol Documentation

◆ WorldPackets::Movement::CommonMovement

Definition at line 53 of file MoveSpline.h.

◆ WorldPackets::Movement::MonsterMove

Definition at line 54 of file MoveSpline.h.

Member Data Documentation

◆ anim_tier

◆ effect_start_time

◆ facing

◆ initialOrientation

float Movement::MoveSpline::initialOrientation
protected

Definition at line 81 of file MoveSpline.h.

Referenced by computePosition(), Initialize(), and reinit_spline_for_next_cycle().

◆ m_Id

uint32 Movement::MoveSpline::m_Id
protected

◆ onTransport

bool Movement::MoveSpline::onTransport

◆ point_Idx

int32 Movement::MoveSpline::point_Idx
protected

◆ point_Idx_offset

int32 Movement::MoveSpline::point_Idx_offset
protected

Definition at line 84 of file MoveSpline.h.

Referenced by currentPathIdx(), Initialize(), and reinit_spline_for_next_cycle().

◆ spell_effect_extra

◆ spline

◆ splineflags

◆ splineIsFacingOnly

bool Movement::MoveSpline::splineIsFacingOnly

◆ time_passed

int32 Movement::MoveSpline::time_passed
protected

◆ turn

◆ velocity

float Movement::MoveSpline::velocity
protected

Definition at line 85 of file MoveSpline.h.

Referenced by Initialize().

◆ vertical_acceleration


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