24#include <boost/dynamic_bitset_fwd.hpp>
93 void UpdatePosition(
float x,
float y,
float z,
float o);
96 void LoadStaticPassengers();
99 void UnloadStaticPassengers();
101 void EnableMovement(
bool enabled);
108 uint32 GetExpectedMapId()
const;
111 bool TeleportTransport(
uint32 oldMapId,
uint32 newMapId,
float x,
float y,
float z,
float o);
112 void TeleportPassengersAndHideTransport(
uint32 newMapid,
float x,
float y,
float z,
float o);
113 void UpdatePassengerPositions(PassengerSet
const& passengers);
std::chrono::milliseconds Milliseconds
Milliseconds shorthand typedef.
std::unordered_map< Player *, UpdateData > UpdateDataMapType
std::optional< T > Optional
Optional helper class to wrap optional values within.
std::string GetDebugInfo() const override
void SetLevel(uint32 level)
void CleanupsBeforeDelete(bool finalCleanup=true) override
bool Create(uint32 entry, Map *map, Position const &pos, QuaternionData const &rotation, uint32 animProgress, GOState goState, uint32 artKit, bool dynamic, ObjectGuid::LowType spawnid)
void Update(uint32 p_time) override
ObjectGuid const & GetGUID() const
virtual void CalculatePassengerPosition(float &x, float &y, float &z, float *o=nullptr) const =0
This method transforms supplied transport offsets into global coordinates.
virtual float GetTransportOrientation() const =0
virtual int32 GetMapIdForSpawning() const =0
virtual TransportBase * RemovePassenger(WorldObject *passenger)=0
virtual void CalculatePassengerOffset(float &x, float &y, float &z, float *o=nullptr) const =0
This method transforms supplied global coordinates into local offsets.
virtual void AddPassenger(WorldObject *passenger)=0
Transport * CreateTransport(uint32 entry, Map *map, ObjectGuid::LowType guid=0, uint8 phaseUseFlags=0, uint32 phaseId=0, uint32 phaseGroupId=0)
TransportMovementState _movementState
void SetPeriod(uint32 period)
uint32 GetTransportPeriod() const
Optional< uint32 > _requestStopTimestamp
void CalculatePassengerOffset(float &x, float &y, float &z, float *o=nullptr) const override
This method transforms supplied global coordinates into local offsets.
PassengerSet const & GetPassengers() const
float GetTransportOrientation() const override
PassengerSet _staticPassengers
TimeTracker _positionChangeTimer
ObjectGuid GetTransportGUID() const override
std::set< WorldObject * > PassengerSet
TransportTemplate const * _transportInfo
void SetDelayedAddModelToMap()
std::unique_ptr< boost::dynamic_bitset< uint8 > > _eventsToTrigger
void CalculatePassengerPosition(float &x, float &y, float &z, float *o=nullptr) const override
This method transforms supplied transport offsets into global coordinates.
void BuildUpdate(UpdateDataMapType &) override
float GetPositionZ() const
float GetOrientation() const
float GetPositionX() const
float GetPositionY() const