26#include <unordered_map>
38 template <
typename length_type>
class Spline;
93 double AccelerationRate = 0.0;
94 double AccelerationTime = 0.0;
95 double AccelerationDistance = 0.0;
101 uint32 GetNextPauseWaypointTimestamp(
uint32 time) const;
103 double CalculateDistanceMoved(
double timePassedInSegment,
double segmentDuration,
bool isFirstSegment,
bool isLastSegment) const;
112 std::map<uint32, TransportAnimationEntry const*>
Path;
113 std::map<uint32, TransportRotationEntry const*>
Rotations;
139 void LoadTransportTemplates();
141 void LoadTransportAnimationAndRotation();
143 void LoadTransportSpawns();
149 void CreateTransportsForMap(
Map* map);
183#define sTransportMgr TransportMgr::instance()
std::optional< T > Optional
Optional helper class to wrap optional values within.
std::unordered_map< ObjectGuid::LowType, TransportSpawn > _transportSpawns
std::unordered_map< uint32, std::set< TransportSpawn * > > _transportsByMap
TransportMgr(TransportMgr &&)=delete
TransportMgr(TransportMgr const &)=delete
std::map< uint32, TransportAnimation > _transportAnimations
std::unordered_map< uint32, TransportTemplate > _transportTemplates
TransportMgr & operator=(TransportMgr const &)=delete
TransportMgr & operator=(TransportMgr &&)=delete
std::map< uint32, TransportAnimationEntry const * > Path
std::map< uint32, TransportRotationEntry const * > Rotations
std::vector< TransportPathSegment > Segments
TransportPathLeg(TransportPathLeg const &)=delete
std::unique_ptr< TransportSpline > Spline
TransportPathLeg(TransportPathLeg &&) noexcept
uint32 SegmentEndArrivalTimestamp
double DistanceFromLegStartAtEnd
TransportTemplate(TransportTemplate &&) noexcept
TransportTemplate(TransportTemplate const &)=delete