![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "FleeingMovementGenerator.h"
Public Member Functions | |
| FleeingMovementGenerator (ObjectGuid fleeTargetGUID) | |
| MovementGeneratorType | GetMovementGeneratorType () override |
| void | DoInitialize (T *) |
| void | DoFinalize (T *) |
| void | DoReset (T *) |
| bool | DoUpdate (T *, uint32) |
| void | DoFinalize (Player *owner) |
Public Member Functions inherited from MovementGeneratorMedium< T, FleeingMovementGenerator< T > > | |
| void | Initialize (Unit *u) override |
| void | Finalize (Unit *u) override |
| void | Reset (Unit *u) override |
| bool | Update (Unit *u, uint32 time_diff) override |
Public Member Functions inherited from MovementGenerator | |
| virtual | ~MovementGenerator () |
| virtual uint32 | GetSplineId () const |
| virtual void | unitSpeedChanged () |
| virtual void | Pause (uint32) |
| virtual void | Resume (uint32) |
| virtual bool | GetResetPosition (float &, float &, float &) |
Private Member Functions | |
| void | SetTargetLocation (T *) |
| void | GetPoint (T *, Position &position) |
Private Attributes | |
| std::unique_ptr< PathGenerator > | _path |
| ObjectGuid | _fleeTargetGUID |
| TimeTracker | _timer |
| bool | _interrupt |
| uint8 | _invalidPathsCount |
|
inlineexplicit |
| void FleeingMovementGenerator< Player >::DoFinalize | ( | Player * | owner | ) |
References Unit::ClearUnitState(), Unit::RemoveUnitFlag(), Unit::StopMoving(), UNIT_FLAG_FLEEING, and UNIT_STATE_FLEEING.
| void FleeingMovementGenerator< T >::DoFinalize | ( | T * | ) |
| template void FleeingMovementGenerator< T >::DoInitialize | ( | T * | ) |
| template void FleeingMovementGenerator< T >::DoReset | ( | T * | ) |
| template bool FleeingMovementGenerator< T >::DoUpdate | ( | T * | , |
| uint32 | |||
| ) |
References UNIT_STATE_NOT_MOVE.
|
inlineoverridevirtual |
Implements MovementGenerator.
Reimplemented in TimedFleeingMovementGenerator.
References FLEEING_MOTION_TYPE.
|
private |
References frand(), Position::GetAngle(), WorldObject::GetDistance(), ObjectAccessor::GetUnit(), MAX_QUIET_DISTANCE, and MIN_QUIET_DISTANCE.
|
private |
References Position::GetPosition(), Position::GetPositionX(), Position::GetPositionY(), Position::GetPositionZ(), Movement::MoveSplineInit::Launch(), MIN_PATH_LENGTH, Movement::MoveSplineInit::MovebyPath(), PATHFIND_FARFROMPOLY, PATHFIND_NOPATH, PATHFIND_NOT_USING_PATH, PATHFIND_SHORTCUT, Movement::MoveSplineInit::SetWalk(), UNIT_STATE_FLEEING_MOVE, UNIT_STATE_NOT_MOVE, and urand().
|
private |
|
private |
|
private |
|
private |
|
private |