![]() |
TrinityCore
|
#include <FollowMovementGenerator.h>
Inheritance diagram for FollowMovementGenerator:Public Member Functions | |
| FollowMovementGenerator (Unit *target, float range, Optional< ChaseAngle > angle, Optional< Milliseconds > duration, bool ignoreTargetWalk=false, Scripting::v2::ActionResultSetter< MovementStopReason > &&scriptResult={}) | |
| ~FollowMovementGenerator () | |
| 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 |
| void | UnitSpeedChanged () 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 | 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 |
Public Member Functions inherited from AbstractFollower | |
| AbstractFollower (Unit *target=nullptr) | |
| ~AbstractFollower () | |
| void | SetTarget (Unit *unit) |
| Unit * | GetTarget () const |
Private Member Functions | |
| void | UpdatePetSpeed (Unit *owner) |
Private Attributes | |
| float const | _range |
| Optional< ChaseAngle const > | _angle |
| bool | _ignoreTargetWalk |
| TimeTracker | _checkTimer |
| Optional< TimeTracker > | _duration |
| std::unique_ptr< PathGenerator > | _path |
| Optional< Position > | _lastTargetPosition |
Static Private Attributes | |
| static constexpr uint32 | CHECK_INTERVAL = 100 |
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 32 of file FollowMovementGenerator.h.
|
explicit |
Definition at line 37 of file FollowMovementGenerator.cpp.
References _duration, MovementGenerator::BaseUnitState, MovementGenerator::Flags, MOTION_PRIORITY_NORMAL, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, MovementGenerator::ScriptResult, and UNIT_STATE_FOLLOW.
|
default |
|
overridevirtual |
Implements MovementGenerator.
Definition at line 190 of file FollowMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, MOVEMENTGENERATOR_FLAG_TRANSITORY, MovementGenerator::RemoveFlag(), and UNIT_STATE_FOLLOW_MOVE.
|
overridevirtual |
Implements MovementGenerator.
Definition at line 197 of file FollowMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), Finished, MOVEMENTGENERATOR_FLAG_FINALIZED, MovementGenerator::SetScriptResult(), UNIT_STATE_FOLLOW_MOVE, and UpdatePetSpeed().
|
inlineoverridevirtual |
Implements MovementGenerator.
Definition at line 44 of file FollowMovementGenerator.h.
References FOLLOW_MOTION_TYPE.
|
overridevirtual |
Implements MovementGenerator.
Definition at line 58 of file FollowMovementGenerator.cpp.
References _lastTargetPosition, _path, MovementGenerator::AddFlag(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MOVEMENTGENERATOR_FLAG_INITIALIZED, MovementGenerator::RemoveFlag(), and UpdatePetSpeed().
Referenced by Reset().
|
overridevirtual |
Implements MovementGenerator.
Definition at line 69 of file FollowMovementGenerator.cpp.
References Initialize(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, and MovementGenerator::RemoveFlag().
|
inlineoverridevirtual |
Reimplemented from MovementGenerator.
Definition at line 46 of file FollowMovementGenerator.h.
References _lastTargetPosition.
Implements MovementGenerator.
Definition at line 76 of file FollowMovementGenerator.cpp.
References _angle, _checkTimer, _duration, _ignoreTargetWalk, _lastTargetPosition, _path, _range, MovementGenerator::AddFlag(), Unit::AddUnitState(), CHECK_INTERVAL, Unit::ClearUnitState(), DoMovementInform(), FOLLOW_RANGE_TOLERANCE, BaseEntity::GetGUID(), WorldObject::GetNearPoint(), Position::GetOrientation(), Position::GetPosition(), Position::GetRelativeAngle(), AbstractFollower::GetTarget(), MovementGenerator::HasFlag(), Unit::HasUnitState(), Unit::IsAlive(), BaseEntity::IsInWorld(), Unit::IsMovementPreventedByCasting(), Unit::IsWalking(), Movement::MoveSplineInit::Launch(), Movement::MoveSplineInit::MovebyPath(), MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, Unit::movespline, Position::NormalizeOrientation(), TimeTracker::Passed(), PATHFIND_NOPATH, PositionOkay(), MovementGenerator::RemoveFlag(), TimeTracker::Reset(), Movement::MoveSplineInit::SetFacing(), Movement::MoveSplineInit::SetWalk(), Unit::StopMoving(), Position::ToAbsoluteAngle(), Object::ToCreature(), Unit::ToPet(), UNIT_STATE_FOLLOW_MOVE, UNIT_STATE_NOT_MOVE, and TimeTracker::Update().
|
private |
Definition at line 209 of file FollowMovementGenerator.cpp.
References Unit::GetOwnerGUID(), AbstractFollower::GetTarget(), MOVE_RUN, MOVE_SWIM, MOVE_WALK, and Unit::ToPet().
Referenced by Finalize(), and Initialize().
|
private |
Definition at line 54 of file FollowMovementGenerator.h.
Referenced by Update().
|
private |
Definition at line 57 of file FollowMovementGenerator.h.
Referenced by Update().
|
private |
Definition at line 58 of file FollowMovementGenerator.h.
Referenced by FollowMovementGenerator(), and Update().
|
private |
Definition at line 55 of file FollowMovementGenerator.h.
Referenced by Update().
Definition at line 60 of file FollowMovementGenerator.h.
Referenced by Initialize(), UnitSpeedChanged(), and Update().
|
private |
Definition at line 59 of file FollowMovementGenerator.h.
Referenced by Initialize(), and Update().
|
private |
Definition at line 53 of file FollowMovementGenerator.h.
Referenced by Update().
|
staticconstexprprivate |
Definition at line 49 of file FollowMovementGenerator.h.
Referenced by Update().