![]() |
TrinityCore
|
#include <FlightPathMovementGenerator.h>
Inheritance diagram for FlightPathMovementGenerator:Classes | |
| struct | TaxiNodeChangeInfo |
| node index where preloading starts More... | |
Public Member Functions | |
| FlightPathMovementGenerator (uint32 startNode=0) | |
| 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) |
| TaxiPathNodeList const & | GetPath () |
| uint32 | GetPathAtMapEnd () const |
| bool | HasArrived () const |
| uint32 | GetPathId (size_t index) const |
| void | LoadPath (Player *owner) |
| void | SetCurrentNodeAfterTeleport () |
| void | SkipCurrentNode () |
| void | DoEventIfAny (Player *owner, TaxiPathNodeEntry const *node, bool departure) |
| void | InitEndGridInfo () |
| void | PreloadEndGrid () |
| 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 () | |
| 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< Player, TaxiPathNodeList > | |
| PathMovementBase () | |
| virtual | ~PathMovementBase () |
| uint32 | GetCurrentNode () const |
Private Attributes | |
| float | _endGridX |
| float | _endGridY |
| X coord of last node location. | |
| uint32 | _endMapId |
| Y coord of last node location. | |
| uint32 | _preloadTargetNode |
| map Id of last node location | |
| std::deque< TaxiNodeChangeInfo > | _pointsForPathSwitch |
Additional Inherited Members | |
Public Attributes inherited from MovementGenerator | |
| uint8 | Priority |
| uint16 | Flags |
| uint32 | BaseUnitState |
Protected Attributes inherited from PathMovementBase< Player, TaxiPathNodeList > | |
| TaxiPathNodeList | _path |
| uint32 | _currentNode |
FlightPathMovementGenerator generates movement of the player for the paths and hence generates ground and activities for the player.
Definition at line 32 of file FlightPathMovementGenerator.h.
|
explicit |
Definition at line 33 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode, _endGridX, _endGridY, _endMapId, _preloadTargetNode, MovementGenerator::BaseUnitState, MovementGenerator::Flags, MOTION_PRIORITY_HIGHEST, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, and UNIT_STATE_IN_FLIGHT.
| void FlightPathMovementGenerator::DoDeactivate | ( | Player * | ) |
Definition at line 146 of file FlightPathMovementGenerator.cpp.
References MovementGenerator::AddFlag(), and MOVEMENTGENERATOR_FLAG_DEACTIVATED.
| void FlightPathMovementGenerator::DoEventIfAny | ( | Player * | owner, |
| TaxiPathNodeEntry const * | node, | ||
| bool | departure | ||
| ) |
Definition at line 257 of file FlightPathMovementGenerator.cpp.
References TaxiPathNodeEntry::ArrivalEventID, ASSERT, TaxiPathNodeEntry::DepartureEventID, Player::GetDebugInfo(), WorldObject::GetMap(), WorldObject::GetName(), TaxiPathNodeEntry::NodeIndex, TaxiPathNodeEntry::PathID, Map::ScriptsStart(), sEventScripts, and TC_LOG_DEBUG.
Referenced by DoUpdate().
| void FlightPathMovementGenerator::DoFinalize | ( | Player * | owner, |
| bool | active, | ||
| bool | |||
| ) |
Definition at line 151 of file FlightPathMovementGenerator.cpp.
References MovementGenerator::AddFlag(), PlayerTaxi::ClearTaxiDestinations(), Unit::Dismount(), PlayerTaxi::empty(), Position::GetOrientation(), PlayerTaxi::GetTaxiDestination(), Player::m_taxi, MOVEMENTGENERATOR_FLAG_FINALIZED, PLAYER_FLAGS, PLAYER_FLAGS_TAXI_BENCHMARK, Object::RemoveFlag(), Unit::RemoveUnitFlag(), Player::SetFallInformation(), sTaxiNodesStore, Unit::StopMoving(), Player::TeleportTo(), UNIT_FLAG_ON_TAXI, and UNIT_FLAG_REMOVE_CLIENT_CONTROL.
| bool FlightPathMovementGenerator::DoInitialize | ( | Player * | owner | ) |
Definition at line 60 of file FlightPathMovementGenerator.cpp.
References MovementGenerator::AddFlag(), DoReset(), InitEndGridInfo(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MOVEMENTGENERATOR_FLAG_INITIALIZED, and MovementGenerator::RemoveFlag().
| bool FlightPathMovementGenerator::DoReset | ( | Player * | owner | ) |
Definition at line 70 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_path, Unit::CombatStopWithPets(), PathMovementBase< Player, TaxiPathNodeList >::GetCurrentNode(), Player::GetDebugInfo(), GetPathAtMapEnd(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Movement::MoveSplineInit::Launch(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, Movement::MoveSplineInit::Path(), PLAYER_FLIGHT_SPEED, MovementGenerator::RemoveFlag(), Movement::MoveSplineInit::SetFirstPointId(), Movement::MoveSplineInit::SetFly(), Unit::SetUnitFlag(), Movement::MoveSplineInit::SetVelocity(), TC_LOG_DEBUG, UNIT_FLAG_ON_TAXI, and UNIT_FLAG_REMOVE_CLIENT_CONTROL.
Referenced by DoInitialize().
Definition at line 101 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode, PathMovementBase< Player, TaxiPathNodeList >::_path, _pointsForPathSwitch, _preloadTargetNode, ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, MovementGenerator::AddFlag(), ASSERT, Movement::MoveSpline::currentPathIdx(), DoEventIfAny(), Player::GetDebugInfo(), Player::m_taxi, Player::ModifyMoney(), MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, Unit::movespline, PlayerTaxi::NextTaxiDestination(), PreloadEndGrid(), and Player::UpdateAchievementCriteria().
|
overridevirtual |
Reimplemented from MovementGenerator.
Definition at line 308 of file FlightPathMovementGenerator.cpp.
References _endGridX, _endGridY, _endMapId, PathMovementBase< Player, TaxiPathNodeList >::_path, _preloadTargetNode, MovementGenerator::GetDebugInfo(), PathMovementBase< Entity, BasePath >::GetDebugInfo(), GetPathId(), and HasArrived().
|
overridevirtual |
Implements MovementGenerator.
Definition at line 46 of file FlightPathMovementGenerator.cpp.
References FLIGHT_MOTION_TYPE.
|
inline |
Definition at line 46 of file FlightPathMovementGenerator.h.
References PathMovementBase< Player, TaxiPathNodeList >::_path.
| uint32 FlightPathMovementGenerator::GetPathAtMapEnd | ( | ) | const |
Definition at line 180 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode, and PathMovementBase< Player, TaxiPathNodeList >::_path.
Referenced by DoReset().
| uint32 FlightPathMovementGenerator::GetPathId | ( | size_t | index | ) | const |
Definition at line 300 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_path.
Referenced by GetDebugInfo().
|
overridevirtual |
Reimplemented from MovementGenerator.
Definition at line 51 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode, PathMovementBase< Player, TaxiPathNodeList >::_path, TaxiPathNodeEntry::Loc, DBCPosition3D::X, DBCPosition3D::Y, and DBCPosition3D::Z.
|
inline |
Definition at line 48 of file FlightPathMovementGenerator.h.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode, and PathMovementBase< Player, TaxiPathNodeList >::_path.
Referenced by GetDebugInfo().
| 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.
Number of nodes in path.
MapId of last node
Definition at line 268 of file FlightPathMovementGenerator.cpp.
References _endGridX, _endGridY, _endMapId, PathMovementBase< Player, TaxiPathNodeList >::_path, _preloadTargetNode, and ASSERT.
Referenced by DoInitialize().
| void FlightPathMovementGenerator::LoadPath | ( | Player * | owner | ) |
Definition at line 200 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_path, _pointsForPathSwitch, PlayerTaxi::GetFlightMasterFactionTemplate(), PlayerTaxi::GetPath(), Player::GetReputationPriceDiscount(), IsNodeIncludedInShortenedPath(), Player::m_taxi, sObjectMgr, and sTaxiPathNodesByPath.
Referenced by MotionMaster::MoveTaxiFlight().
| void FlightPathMovementGenerator::PreloadEndGrid | ( | ) |
Definition at line 285 of file FlightPathMovementGenerator.cpp.
References _endGridX, _endGridY, _endMapId, PathMovementBase< Player, TaxiPathNodeList >::_path, _preloadTargetNode, Map::LoadGrid(), sMapMgr, and TC_LOG_DEBUG.
Referenced by DoUpdate().
| void FlightPathMovementGenerator::SetCurrentNodeAfterTeleport | ( | ) |
Definition at line 241 of file FlightPathMovementGenerator.cpp.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode, PathMovementBase< Player, TaxiPathNodeList >::_path, and TaxiPathNodeEntry::ContinentID.
|
inline |
Definition at line 53 of file FlightPathMovementGenerator.h.
References PathMovementBase< Player, TaxiPathNodeList >::_currentNode.
|
private |
Definition at line 61 of file FlightPathMovementGenerator.h.
Referenced by FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().
|
private |
X coord of last node location.
Definition at line 62 of file FlightPathMovementGenerator.h.
Referenced by FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().
|
private |
Y coord of last node location.
Definition at line 63 of file FlightPathMovementGenerator.h.
Referenced by FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().
|
private |
Definition at line 71 of file FlightPathMovementGenerator.h.
Referenced by DoUpdate(), and LoadPath().
|
private |
map Id of last node location
Definition at line 64 of file FlightPathMovementGenerator.h.
Referenced by DoUpdate(), FlightPathMovementGenerator(), GetDebugInfo(), InitEndGridInfo(), and PreloadEndGrid().