AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
MovementGeneratorMedium< T, D > Class Template Reference

#include "MovementGenerator.h"

Inheritance diagram for MovementGeneratorMedium< T, D >:
MovementGenerator FleeingMovementGenerator< Creature > PointMovementGenerator< Creature > TimedFleeingMovementGenerator AssistanceMovementGenerator

Public Member Functions

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 void Initialize (Unit *)=0
 
virtual void Finalize (Unit *)=0
 
virtual void Reset (Unit *)=0
 
virtual bool Update (Unit *, uint32 time_diff)=0
 
virtual MovementGeneratorType GetMovementGeneratorType ()=0
 
virtual uint32 GetSplineId () const
 
virtual void unitSpeedChanged ()
 
virtual void Pause (uint32)
 
virtual void Resume (uint32)
 
virtual bool GetResetPosition (float &, float &, float &)
 

Detailed Description

template<class T, class D>
class MovementGeneratorMedium< T, D >

Member Function Documentation

◆ Finalize()

template<class T , class D >
void MovementGeneratorMedium< T, D >::Finalize ( Unit u)
inlineoverridevirtual

Implements MovementGenerator.

Reimplemented in TimedFleeingMovementGenerator, and AssistanceMovementGenerator.

67 {
68 //u->AssertIsType<T>();
69 (static_cast<D*>(this))->DoFinalize(static_cast<T*>(u));
70 }

◆ Initialize()

template<class T , class D >
void MovementGeneratorMedium< T, D >::Initialize ( Unit u)
inlineoverridevirtual

Implements MovementGenerator.

61 {
62 //u->AssertIsType<T>();
63 (static_cast<D*>(this))->DoInitialize(static_cast<T*>(u));
64 }

◆ Reset()

template<class T , class D >
void MovementGeneratorMedium< T, D >::Reset ( Unit u)
inlineoverridevirtual

Implements MovementGenerator.

73 {
74 //u->AssertIsType<T>();
75 (static_cast<D*>(this))->DoReset(static_cast<T*>(u));
76 }

◆ Update()

template<class T , class D >
bool MovementGeneratorMedium< T, D >::Update ( Unit u,
uint32  time_diff 
)
inlineoverridevirtual

Implements MovementGenerator.

Reimplemented in TimedFleeingMovementGenerator.

79 {
80 //u->AssertIsType<T>();
81 return (static_cast<D*>(this))->DoUpdate(static_cast<T*>(u), time_diff);
82 }