*Call new function InitializeAI() instead of Reset() to do one-time work.
--HG-- branch : trunk
This commit is contained in:
@@ -98,7 +98,7 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
|
|||||||
//*************
|
//*************
|
||||||
|
|
||||||
//Called at creature reset either by death or evade
|
//Called at creature reset either by death or evade
|
||||||
virtual void Reset() = 0;
|
void Reset() {}
|
||||||
|
|
||||||
//Called at creature aggro either by MoveInLOS or Attack Start
|
//Called at creature aggro either by MoveInLOS or Attack Start
|
||||||
virtual void Aggro(Unit*) = 0;
|
virtual void Aggro(Unit*) = 0;
|
||||||
|
|||||||
@@ -620,7 +620,7 @@ bool Creature::AIM_Initialize(CreatureAI* ai)
|
|||||||
i_motionMaster.Initialize();
|
i_motionMaster.Initialize();
|
||||||
i_AI = ai ? ai : FactorySelector::selectAI(this);
|
i_AI = ai ? ai : FactorySelector::selectAI(this);
|
||||||
IsAIEnabled = true;
|
IsAIEnabled = true;
|
||||||
i_AI->Reset();
|
i_AI->InitializeAI();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,8 @@ class TRINITY_DLL_SPEC UnitAI
|
|||||||
virtual void AttackStart(Unit *);
|
virtual void AttackStart(Unit *);
|
||||||
virtual void UpdateAI(const uint32 diff) = 0;
|
virtual void UpdateAI(const uint32 diff) = 0;
|
||||||
|
|
||||||
// Initialize
|
virtual void InitializeAI() { Reset(); }
|
||||||
|
|
||||||
virtual void Reset() {};
|
virtual void Reset() {};
|
||||||
|
|
||||||
// Called when unit is charmed
|
// Called when unit is charmed
|
||||||
|
|||||||
Reference in New Issue
Block a user