![]() |
TrinityCore
|
#include <FormationMovementGenerator.h>
Inheritance diagram for FormationMovementGenerator:Public Member Functions | |
| FormationMovementGenerator (Unit *leader, float range, float angle, uint32 point1, uint32 point2) | |
| MovementGeneratorType | GetMovementGeneratorType () const override |
| bool | DoInitialize (Creature *) |
| bool | DoReset (Creature *) |
| bool | DoUpdate (Creature *, uint32) |
| void | DoDeactivate (Creature *) |
| void | DoFinalize (Creature *, bool, bool) |
Public Member Functions inherited from MovementGeneratorMedium< Creature, FormationMovementGenerator > | |
| 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 () | |
| 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 |
Public Member Functions inherited from AbstractFollower | |
| AbstractFollower (Unit *target=nullptr) | |
| ~AbstractFollower () | |
| void | SetTarget (Unit *unit) |
| Unit * | GetTarget () const |
Private Member Functions | |
| void | MovementInform (Creature *) |
| void | LaunchMovement (Creature *owner, Unit *target) |
Private Attributes | |
| float const | _range |
| float | _angle |
| uint32 const | _point1 |
| uint32 const | _point2 |
| uint32 | _lastLeaderSplineID |
| bool | _hasPredictedDestination |
| Position | _lastLeaderPosition |
| TimeTracker | _nextMoveTimer |
Static Private Attributes | |
| static constexpr uint32 | FORMATION_MOVEMENT_INTERVAL = 1200 |
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 FormationMovementGenerator.h.
|
explicit |
Definition at line 27 of file FormationMovementGenerator.cpp.
References MovementGenerator::BaseUnitState, MovementGenerator::Flags, MOTION_PRIORITY_NORMAL, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MovementGenerator::Priority, and UNIT_STATE_FOLLOW_FORMATION.
| void FormationMovementGenerator::DoDeactivate | ( | Creature * | owner | ) |
Definition at line 202 of file FormationMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, and UNIT_STATE_FOLLOW_FORMATION_MOVE.
| void FormationMovementGenerator::DoFinalize | ( | Creature * | owner, |
| bool | active, | ||
| bool | movementInform | ||
| ) |
Definition at line 208 of file FormationMovementGenerator.cpp.
References MovementGenerator::AddFlag(), Unit::ClearUnitState(), MovementGenerator::HasFlag(), MOVEMENTGENERATOR_FLAG_FINALIZED, MOVEMENTGENERATOR_FLAG_INFORM_ENABLED, MovementInform(), and UNIT_STATE_FOLLOW_FORMATION_MOVE.
| bool FormationMovementGenerator::DoInitialize | ( | Creature * | owner | ) |
Definition at line 40 of file FormationMovementGenerator.cpp.
References _nextMoveTimer, MovementGenerator::AddFlag(), Unit::HasUnitState(), Creature::IsMovementPreventedByCasting(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING, MOVEMENTGENERATOR_FLAG_INITIALIZED, MOVEMENTGENERATOR_FLAG_INTERRUPTED, MOVEMENTGENERATOR_FLAG_TRANSITORY, MovementGenerator::RemoveFlag(), TimeTracker::Reset(), Unit::StopMoving(), and UNIT_STATE_NOT_MOVE.
Referenced by DoReset().
| bool FormationMovementGenerator::DoReset | ( | Creature * | owner | ) |
Definition at line 56 of file FormationMovementGenerator.cpp.
References DoInitialize(), MOVEMENTGENERATOR_FLAG_DEACTIVATED, MOVEMENTGENERATOR_FLAG_TRANSITORY, and MovementGenerator::RemoveFlag().
Definition at line 63 of file FormationMovementGenerator.cpp.
References _angle, _hasPredictedDestination, _lastLeaderPosition, _lastLeaderSplineID, _nextMoveTimer, _point1, _point2, MovementGenerator::AddFlag(), Unit::ClearUnitState(), FORMATION_MOVEMENT_INTERVAL, Creature::GetFormation(), Position::GetOrientation(), Position::GetPosition(), AbstractFollower::GetTarget(), BaseEntity::GetTypeId(), Unit::HasUnitState(), Creature::IsMovementPreventedByCasting(), LaunchMovement(), M_PI, MOVEMENTGENERATOR_FLAG_INTERRUPTED, MovementInform(), Unit::movespline, TimeTracker::Passed(), TimeTracker::Reset(), Unit::SetFacingTo(), Creature::SetHomePosition(), Unit::StopMoving(), Object::ToCreature(), TYPEID_UNIT, UNIT_STATE_FOLLOW_FORMATION_MOVE, UNIT_STATE_NOT_MOVE, and TimeTracker::Update().
|
overridevirtual |
Implements MovementGenerator.
Definition at line 35 of file FormationMovementGenerator.cpp.
References FORMATION_MOTION_TYPE.
Definition at line 140 of file FormationMovementGenerator.cpp.
References _angle, _hasPredictedDestination, _lastLeaderPosition, _range, Unit::AddUnitState(), Position::GetExactDist(), Position::GetPosition(), Position::GetRelativeAngle(), Unit::GetSpeed(), Movement::MoveSplineInit::Launch(), MOVE_WALK, MOVEMENTGENERATOR_FLAG_INTERRUPTED, WorldObject::MovePositionToFirstCollision(), Unit::movespline, Movement::MoveSplineInit::MoveTo(), MovementGenerator::RemoveFlag(), Movement::MoveSplineInit::SetVelocity(), and UNIT_STATE_FOLLOW_FORMATION_MOVE.
Referenced by DoUpdate().
|
private |
Definition at line 218 of file FormationMovementGenerator.cpp.
References Creature::AI(), FORMATION_MOTION_TYPE, and CreatureAI::MovementInform().
Referenced by DoFinalize(), and DoUpdate().
|
private |
Definition at line 47 of file FormationMovementGenerator.h.
Referenced by DoUpdate(), and LaunchMovement().
|
private |
Definition at line 51 of file FormationMovementGenerator.h.
Referenced by DoUpdate(), and LaunchMovement().
|
private |
Definition at line 53 of file FormationMovementGenerator.h.
Referenced by DoUpdate(), and LaunchMovement().
|
private |
Definition at line 50 of file FormationMovementGenerator.h.
Referenced by DoUpdate().
|
private |
Definition at line 54 of file FormationMovementGenerator.h.
Referenced by DoInitialize(), and DoUpdate().
|
private |
Definition at line 48 of file FormationMovementGenerator.h.
Referenced by DoUpdate().
|
private |
Definition at line 49 of file FormationMovementGenerator.h.
Referenced by DoUpdate().
|
private |
Definition at line 46 of file FormationMovementGenerator.h.
Referenced by LaunchMovement().
|
staticconstexprprivate |
Definition at line 45 of file FormationMovementGenerator.h.
Referenced by DoUpdate().