AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
EffectMovementGenerator Class Reference

#include "PointMovementGenerator.h"

Inheritance diagram for EffectMovementGenerator:
MovementGenerator

Public Member Functions

 EffectMovementGenerator (Movement::MoveSplineInit &spline, uint32 Id)
 
void Initialize (Unit *) override
 
void Finalize (Unit *) override
 
void Reset (Unit *) override
 
bool Update (Unit *, uint32) override
 
MovementGeneratorType GetMovementGeneratorType () 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 Attributes

uint32 m_Id
 
Movement::MoveSplineInit i_spline
 

Detailed Description

Constructor & Destructor Documentation

◆ EffectMovementGenerator()

EffectMovementGenerator::EffectMovementGenerator ( Movement::MoveSplineInit spline,
uint32  Id 
)
inlineexplicit
88: m_Id(Id), i_spline(spline) {}
Movement::MoveSplineInit i_spline
Definition PointMovementGenerator.h:96
uint32 m_Id
Definition PointMovementGenerator.h:95

Member Function Documentation

◆ Finalize()

void EffectMovementGenerator::Finalize ( Unit unit)
overridevirtual

Implements MovementGenerator.

364{
365 if (!unit->IsCreature())
366 return;
367
368 if (unit->IsCreature() && unit->HasUnitMovementFlag(MOVEMENTFLAG_FALLING) && unit->movespline->isFalling()) // pussywizard
370
371 // Need restore previous movement since we have no proper states system
372 //if (unit->IsAlive() && !unit->HasUnitState(UNIT_STATE_CONFUSED | UNIT_STATE_FLEEING))
373 //{
374 // if (Unit* victim = unit->GetVictim())
375 // unit->GetMotionMaster()->MoveChase(victim);
376 // else
377 // unit->GetMotionMaster()->Initialize();
378 //}
379
380 if (unit->ToCreature()->AI())
382}
@ EFFECT_MOTION_TYPE
Definition MotionMaster.h:56
@ MOVEMENTFLAG_FALLING
Definition UnitDefines.h:384
virtual void MovementInform(uint32, uint32)
Definition CreatureAI.h:187
CreatureAI * AI() const
Definition Creature.h:144
bool isFalling() const
Definition MoveSpline.h:120
bool IsCreature() const
Definition Object.h:205
Creature * ToCreature()
Definition Object.h:206
Movement::MoveSpline * movespline
Definition Unit.h:2115
bool HasUnitMovementFlag(uint32 f) const
Definition Unit.h:774
void RemoveUnitMovementFlag(uint32 f)
Definition Unit.h:773

References Creature::AI(), EFFECT_MOTION_TYPE, Unit::HasUnitMovementFlag(), Object::IsCreature(), Movement::MoveSpline::isFalling(), m_Id, MOVEMENTFLAG_FALLING, CreatureAI::MovementInform(), Unit::movespline, Unit::RemoveUnitMovementFlag(), and Object::ToCreature().

◆ GetMovementGeneratorType()

MovementGeneratorType EffectMovementGenerator::GetMovementGeneratorType ( )
inlineoverridevirtual

Implements MovementGenerator.

93{ return EFFECT_MOTION_TYPE; }

References EFFECT_MOTION_TYPE.

◆ Initialize()

void EffectMovementGenerator::Initialize ( Unit )
overridevirtual

Implements MovementGenerator.

359{
361}
int32 Launch()
Definition MoveSplineInit.cpp:35

References i_spline, and Movement::MoveSplineInit::Launch().

◆ Reset()

void EffectMovementGenerator::Reset ( Unit )
inlineoverridevirtual

Implements MovementGenerator.

91{}

◆ Update()

bool EffectMovementGenerator::Update ( Unit unit,
uint32   
)
overridevirtual

Implements MovementGenerator.

354{
355 return !unit->movespline->Finalized();
356}
bool Finalized() const
Definition MoveSpline.h:118

References Movement::MoveSpline::Finalized(), and Unit::movespline.

Member Data Documentation

◆ i_spline

Movement::MoveSplineInit EffectMovementGenerator::i_spline
private

Referenced by Initialize().

◆ m_Id

uint32 EffectMovementGenerator::m_Id
private

Referenced by Finalize().


The documentation for this class was generated from the following files: