![]() |
TrinityCore
|
#include <SplineChainMovementGenerator.h>
Inheritance diagram for SplineChainMovementGenerator:Public Member Functions | |
| SplineChainMovementGenerator (uint32 id, std::vector< SplineChainLink > const &chain, bool walk=false) | |
| SplineChainMovementGenerator (SplineChainResumeInfo const &info) | |
| bool | Initialize (Unit *) override |
| bool | Reset (Unit *) override |
| bool | Update (Unit *, uint32) override |
| void | Deactivate (Unit *) override |
| void | Finalize (Unit *, bool, bool) override |
| MovementGeneratorType | GetMovementGeneratorType () const override |
| SplineChainResumeInfo | GetResumeInfo (Unit const *owner) const |
| uint32 | GetId () const |
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) |
| virtual bool | GetResetPosition (Unit *, float &, float &, float &) |
| void | AddFlag (uint16 const flag) |
| bool | HasFlag (uint16 const flag) const |
| void | RemoveFlag (uint16 const flag) |
| virtual std::string | GetDebugInfo () const |
Static Public Member Functions | |
| static void | GetResumeInfo (SplineChainResumeInfo &info, Unit const *owner, Optional< uint32 > id={}) |
Private Member Functions | |
| void | SendSplineFor (Unit *owner, uint32 index, uint32 &duration) |
| uint32 | SendPathSpline (Unit *owner, float velocity, Movement::PointsArray const &path) const |
Private Attributes | |
| uint32 const | _id |
| std::vector< SplineChainLink > const & | _chain |
| uint8 const | _chainSize |
| bool const | _walk |
| uint8 | _nextIndex |
| uint8 | _nextFirstWP |
| uint32 | _msToNext |
Additional Inherited Members | |
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) |
Definition at line 28 of file SplineChainMovementGenerator.h.
|
explicit |
Definition at line 29 of file SplineChainMovementGenerator.cpp.
References MovementGenerator::BaseUnitState, MovementGenerator::Flags, MOTION_PRIORITY_NORMAL, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, and UNIT_STATE_ROAMING.
|
explicit |
Definition at line 36 of file SplineChainMovementGenerator.cpp.
References MovementGenerator::AddFlag(), MovementGenerator::BaseUnitState, SplineChainResumeInfo::Chain, MovementGenerator::Flags, MOTION_PRIORITY_NORMAL, MOVEMENTGENERATOR_FLAG_FINALIZED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, SplineChainResumeInfo::SplineIndex, and UNIT_STATE_ROAMING.
|
overridevirtual |
Implements MovementGenerator.
Definition at line 186 of file SplineChainMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, and UNIT_STATE_ROAMING_MOVE.
|
overridevirtual |
Implements MovementGenerator.
Definition at line 192 of file SplineChainMovementGenerator.cpp.
References _id, MovementGenerator::AddFlag(), Creature::AI(), Unit::ClearUnitState(), MovementGenerator::HasFlag(), MOVEMENTGENERATOR_FLAG_FINALIZED, MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, SPLINE_CHAIN_MOTION_TYPE, Object::ToCreature(), and UNIT_STATE_ROAMING_MOVE.
|
inline |
Definition at line 46 of file SplineChainMovementGenerator.h.
Referenced by GetResumeInfo().
|
overridevirtual |
Implements MovementGenerator.
Definition at line 207 of file SplineChainMovementGenerator.cpp.
References SPLINE_CHAIN_MOTION_TYPE.
|
static |
Definition at line 228 of file SplineChainMovementGenerator.cpp.
References SplineChainResumeInfo::Clear(), GetId(), Unit::GetMotionMaster(), MotionMaster::GetMovementGenerator(), GetResumeInfo(), and SPLINE_CHAIN_MOTION_TYPE.
Referenced by npc_martha_goslin::npc_martha_goslinAI::DoAction(), GetResumeInfo(), and npc_arthas_stratholme::npc_arthas_stratholmeAI::JustEngagedWith().
| SplineChainResumeInfo SplineChainMovementGenerator::GetResumeInfo | ( | Unit const * | owner | ) | const |
Definition at line 212 of file SplineChainMovementGenerator.cpp.
References _chain, _chainSize, _id, _msToNext, _nextIndex, _walk, and Unit::movespline.
|
overridevirtual |
Implements MovementGenerator.
Definition at line 84 of file SplineChainMovementGenerator.cpp.
References _chain, _chainSize, _msToNext, _nextFirstWP, _nextIndex, MovementGenerator::AddFlag(), BaseEntity::GetGUID(), MovementGenerator::HasFlag(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_FINALIZED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MOVEMENTGENERATOR_FLAG_INITIALIZED, SplineChainLink::Points, MovementGenerator::RemoveFlag(), SendPathSpline(), SendSplineFor(), TC_LOG_DEBUG, TC_LOG_ERROR, TC_LOG_WARN, ObjectGuid::ToString(), and SplineChainLink::Velocity.
Referenced by Reset().
|
overridevirtual |
Implements MovementGenerator.
Definition at line 138 of file SplineChainMovementGenerator.cpp.
References Initialize(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MovementGenerator::RemoveFlag(), and Unit::StopMoving().
|
private |
Definition at line 47 of file SplineChainMovementGenerator.cpp.
References _walk, Unit::AddUnitState(), ASSERT, BaseEntity::GetGUID(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MovebyPath(), Movement::MoveSplineInit::MoveTo(), Movement::MoveSplineInit::SetVelocity(), Movement::MoveSplineInit::SetWalk(), ObjectGuid::ToString(), and UNIT_STATE_ROAMING_MOVE.
Referenced by Initialize(), and SendSplineFor().
|
private |
Definition at line 66 of file SplineChainMovementGenerator.cpp.
References _chain, _chainSize, ASSERT, SplineChainLink::ExpectedDuration, BaseEntity::GetGUID(), SplineChainLink::Points, SendPathSpline(), TC_LOG_DEBUG, ObjectGuid::ToString(), and SplineChainLink::Velocity.
Referenced by Initialize(), and Update().
Implements MovementGenerator.
Definition at line 146 of file SplineChainMovementGenerator.cpp.
References _chain, _chainSize, _msToNext, _nextIndex, MovementGenerator::AddFlag(), Unit::ClearUnitState(), BaseEntity::GetGUID(), MovementGenerator::HasFlag(), MOVEMENTGENERATOR_FLAG_FINALIZED, MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, Unit::movespline, SendSplineFor(), TC_LOG_DEBUG, ObjectGuid::ToString(), and UNIT_STATE_ROAMING_MOVE.
|
private |
Definition at line 53 of file SplineChainMovementGenerator.h.
Referenced by GetResumeInfo(), Initialize(), SendSplineFor(), and Update().
|
private |
Definition at line 54 of file SplineChainMovementGenerator.h.
Referenced by GetResumeInfo(), Initialize(), SendSplineFor(), and Update().
|
private |
Definition at line 52 of file SplineChainMovementGenerator.h.
Referenced by Finalize(), and GetResumeInfo().
|
private |
Definition at line 58 of file SplineChainMovementGenerator.h.
Referenced by GetResumeInfo(), Initialize(), and Update().
|
private |
Definition at line 57 of file SplineChainMovementGenerator.h.
Referenced by Initialize().
|
private |
Definition at line 56 of file SplineChainMovementGenerator.h.
Referenced by GetResumeInfo(), Initialize(), and Update().
|
private |
Definition at line 55 of file SplineChainMovementGenerator.h.
Referenced by GetResumeInfo(), and SendPathSpline().