![]() |
TrinityCore
|
#include <FollowMovementGenerator.h>
Inheritance diagram for FollowMovementGenerator:Public Member Functions | |
| FollowMovementGenerator (Unit *target, float range, ChaseAngle angle) | |
| ~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 () | |
| 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 |
| ChaseAngle const | _angle |
| TimeTracker | _checkTimer |
| 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 |
Definition at line 33 of file FollowMovementGenerator.h.
|
explicit |
Definition at line 38 of file FollowMovementGenerator.cpp.
References MovementGenerator::BaseUnitState, MovementGenerator::Flags, MOTION_PRIORITY_NORMAL, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, and UNIT_STATE_FOLLOW.
|
default |
|
overridevirtual |
Implements MovementGenerator.
Definition at line 169 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 176 of file FollowMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), MOVEMENTGENERATOR_FLAG_FINALIZED, 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 54 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 65 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 72 of file FollowMovementGenerator.cpp.
References _angle, _checkTimer, _lastTargetPosition, _path, _range, MovementGenerator::AddFlag(), Unit::AddUnitState(), CHECK_INTERVAL, Unit::ClearUnitState(), DoMovementInform(), Movement::MoveSpline::Finalized(), FOLLOW_RANGE_TOLERANCE, Object::GetGUID(), WorldObject::GetNearPoint(), Position::GetOrientation(), Position::GetPosition(), Position::GetRelativeAngle(), AbstractFollower::GetTarget(), MovementGenerator::HasFlag(), Unit::HasUnitState(), Unit::IsAlive(), ChaseAngle::IsAngleOkay(), Object::IsInWorld(), Unit::IsMovementPreventedByCasting(), Unit::IsWalking(), Movement::MoveSplineInit::Launch(), ChaseAngle::LowerBound(), 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(), Unit::ToPet(), UNIT_STATE_FOLLOW_MOVE, UNIT_STATE_NOT_MOVE, TimeTracker::Update(), and ChaseAngle::UpperBound().
|
private |
Definition at line 186 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 56 of file FollowMovementGenerator.h.
Referenced by Update().
Definition at line 58 of file FollowMovementGenerator.h.
Referenced by Initialize(), UnitSpeedChanged(), and Update().
|
private |
Definition at line 57 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().