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

#include <FlightPathMovementGenerator.h>

+ Inheritance diagram for FlightPathMovementGenerator:

Classes

struct  TaxiNodeChangeInfo
 

Public Member Functions

 FlightPathMovementGenerator (Optional< float > speed, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult)
 
MovementGeneratorType GetMovementGeneratorType () const override
 
bool GetResetPosition (Unit *owner, float &x, float &y, float &z) override
 
bool DoInitialize (Player *)
 
bool DoReset (Player *)
 
bool DoUpdate (Player *, uint32)
 
void DoDeactivate (Player *)
 
void DoFinalize (Player *, bool, bool)
 
std::vector< TaxiPathNodeEntry const * > const & GetPath ()
 
uint32 GetPathAtMapEnd () const
 
bool HasArrived () const
 
uint32 GetPathId (size_t index) const
 
void LoadPath (Player *owner, uint32 startNode=0)
 
void SetCurrentNodeAfterTeleport ()
 
void SkipCurrentNode ()
 
void DoEventIfAny (Player *owner, TaxiPathNodeEntry const *node, bool departure)
 
void InitEndGridInfo ()
 
void PreloadEndGrid (Player *owner)
 
std::string GetDebugInfo () const override
 
- Public Member Functions inherited from MovementGeneratorMedium< Player, FlightPathMovementGenerator >
bool Initialize (Unit *owner) override
 
bool 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
 
MovementGenerator & operator= (MovementGenerator const &)=delete
 
MovementGenerator & operator= (MovementGenerator &&)=delete
 
virtual ~MovementGenerator ()
 
virtual void UnitSpeedChanged ()
 
virtual void Pause (uint32)
 
virtual void Resume (uint32)
 
void AddFlag (uint16 const flag)
 
bool HasFlag (uint16 const flag) const
 
void RemoveFlag (uint16 const flag)
 
- Public Member Functions inherited from PathMovementBase< BasePath >
 PathMovementBase ()
 
 PathMovementBase (PathType &&path)
 
virtual ~PathMovementBase ()=default
 
uint32 GetCurrentNode () const
 

Private Attributes

Optional< float > _speed
 
float _endGridX
 X coord of last node location.
 
float _endGridY
 Y coord of last node location.
 
uint32 _endMapId
 map Id of last node location
 
uint32 _preloadTargetNode
 node index where preloading starts
 
std::deque< TaxiNodeChangeInfo > _pointsForPathSwitch
 node indexes and costs where TaxiPath changes
 

Additional Inherited Members

- Public Types inherited from PathMovementBase< BasePath >
using PathType = BasePath
 
- 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)
 
- Protected Attributes inherited from PathMovementBase< BasePath >
PathType _path
 
uint32 _currentNode
 

Detailed Description

FlightPathMovementGenerator generates movement of the player for the paths and hence generates ground and activities for the player.

Definition at line 33 of file FlightPathMovementGenerator.h.

Constructor & Destructor Documentation

◆ FlightPathMovementGenerator()

Member Function Documentation

◆ DoDeactivate()

void FlightPathMovementGenerator::DoDeactivate ( Player *  )

◆ DoEventIfAny()

◆ DoFinalize()

◆ DoInitialize()

◆ DoReset()

◆ DoUpdate()

◆ GetDebugInfo()

std::string FlightPathMovementGenerator::GetDebugInfo ( ) const
overridevirtual

◆ GetMovementGeneratorType()

MovementGeneratorType FlightPathMovementGenerator::GetMovementGeneratorType ( ) const
overridevirtual

Implements MovementGenerator.

Definition at line 50 of file FlightPathMovementGenerator.cpp.

References FLIGHT_MOTION_TYPE.

◆ GetPath()

std::vector< TaxiPathNodeEntry const * > const & FlightPathMovementGenerator::GetPath ( )
inline

Definition at line 48 of file FlightPathMovementGenerator.h.

References PathMovementBase< BasePath >::_path.

◆ GetPathAtMapEnd()

uint32 FlightPathMovementGenerator::GetPathAtMapEnd ( ) const

◆ GetPathId()

uint32 FlightPathMovementGenerator::GetPathId ( size_t  index) const

Definition at line 321 of file FlightPathMovementGenerator.cpp.

References PathMovementBase< BasePath >::_path.

Referenced by GetDebugInfo().

◆ GetResetPosition()

bool FlightPathMovementGenerator::GetResetPosition ( Unit *  owner,
float &  x,
float &  y,
float &  z 
)
overridevirtual

◆ HasArrived()

bool FlightPathMovementGenerator::HasArrived ( ) const
inline

◆ InitEndGridInfo()

void FlightPathMovementGenerator::InitEndGridInfo ( )

Storage to preload flightmaster grid at end of flight. For multi-stop flights, this will be reinitialized for each flightmaster at the end of each spline (or stop) in the flight.

Definition at line 285 of file FlightPathMovementGenerator.cpp.

References _endGridX, _endGridY, _endMapId, PathMovementBase< BasePath >::_path, _preloadTargetNode, and ASSERT.

Referenced by DoInitialize().

◆ LoadPath()

◆ PreloadEndGrid()

void FlightPathMovementGenerator::PreloadEndGrid ( Player *  owner)

◆ SetCurrentNodeAfterTeleport()

◆ SkipCurrentNode()

void FlightPathMovementGenerator::SkipCurrentNode ( )
inline

Member Data Documentation

◆ _endGridX

float FlightPathMovementGenerator::_endGridX
private

X coord of last node location.

Definition at line 64 of file FlightPathMovementGenerator.h.

Referenced by FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().

◆ _endGridY

float FlightPathMovementGenerator::_endGridY
private

Y coord of last node location.

Definition at line 65 of file FlightPathMovementGenerator.h.

Referenced by FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().

◆ _endMapId

uint32 FlightPathMovementGenerator::_endMapId
private

map Id of last node location

Definition at line 66 of file FlightPathMovementGenerator.h.

Referenced by FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().

◆ _pointsForPathSwitch

std::deque<TaxiNodeChangeInfo> FlightPathMovementGenerator::_pointsForPathSwitch
private

node indexes and costs where TaxiPath changes

Definition at line 74 of file FlightPathMovementGenerator.h.

Referenced by DoUpdate(), and LoadPath().

◆ _preloadTargetNode

uint32 FlightPathMovementGenerator::_preloadTargetNode
private

node index where preloading starts

Definition at line 67 of file FlightPathMovementGenerator.h.

Referenced by DoUpdate(), FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().

◆ _speed

Optional<float> FlightPathMovementGenerator::_speed
private

Definition at line 63 of file FlightPathMovementGenerator.h.

Referenced by DoReset(), and FlightPathMovementGenerator().


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