28 : _splineInit(
std::move(initializer)), _type(type), _pointId(id), _durationTracksSpline(true), _arrivalSpellId(0)
34 if (args.ArrivalSpellId)
36 if (args.ArrivalSpellTarget)
@ MOVEMENTGENERATOR_FLAG_INITIALIZATION_PENDING
@ MOVEMENTGENERATOR_FLAG_DEACTIVATED
@ MOVEMENTGENERATOR_FLAG_FINALIZED
@ MOVEMENTGENERATOR_FLAG_INFORM_ENABLED
@ MOVEMENTGENERATOR_FLAG_INITIALIZED
void Finalize(Unit *, bool, bool) override
void Deactivate(Unit *) override
void Initialize(Unit *) override
bool Update(Unit *, uint32) override
void Reset(Unit *) override
GenericMovementGenerator(std::function< void(Movement::MoveSplineInit &init)> &&initializer, MovementGeneratorType type, uint32 id, GenericMovementGeneratorArgs &&args={})
Optional< TimeTracker > _duration
MovementGeneratorType _type
bool _durationTracksSpline
void MovementInform(Unit *)
std::function< void(Movement::MoveSplineInit &init)> _splineInit
ObjectGuid _arrivalSpellTargetGuid
void AddFlag(uint16 const flag)
bool HasFlag(uint16 const flag) const
void RemoveFlag(uint16 const flag)
static Creature * ToCreature(Object *o)
std::unique_ptr< Movement::MoveSpline > movespline
SpellCastResult CastSpell(CastSpellTargetArg const &targets, uint32 spellId, CastSpellExtraArgs const &args={ })
TC_GAME_API Unit * GetUnit(WorldObject const &, ObjectGuid const &guid)