TrinityCore
Loading...
Searching...
No Matches
CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base > Class Template Reference

This hook is responsible for swapping Creature and GameObject AI's. More...

+ Inheritance diagram for CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >:

Classes

class  AIFunctionMapWorker
 
class  AsyncCastHotswapEffectEvent
 

Public Member Functions

void BeforeReleaseContext (std::string const &context) final override
 Called before the actual context release happens.
 
void BeforeSwapContext (bool initialize) override
 Called before SwapContext.
 
void BeforeUnload () final override
 Called before Unload.
 
- Public Member Functions inherited from ScriptRegistrySwapHookBase
 ScriptRegistrySwapHookBase ()
 
virtual ~ScriptRegistrySwapHookBase ()
 
 ScriptRegistrySwapHookBase (ScriptRegistrySwapHookBase const &)=delete
 
 ScriptRegistrySwapHookBase (ScriptRegistrySwapHookBase &&)=delete
 
ScriptRegistrySwapHookBase & operator= (ScriptRegistrySwapHookBase const &)=delete
 
ScriptRegistrySwapHookBase & operator= (ScriptRegistrySwapHookBase &&)=delete
 

Static Private Member Functions

static void UnloadResetScript (Creature *creature)
 
static void UnloadDestroyScript (Creature *creature)
 
static void UnloadResetScript (GameObject *gameobject)
 
static void UnloadDestroyScript (GameObject *gameobject)
 
static void LoadInitializeScript (Creature *creature)
 
static void LoadResetScript (Creature *creature)
 
static void LoadInitializeScript (GameObject *gameobject)
 
static void LoadResetScript (GameObject *gameobject)
 
static Creature * GetEntityFromMap (std::common_type< Creature >, Map *map, ObjectGuid const &guid)
 
static GameObject * GetEntityFromMap (std::common_type< GameObject >, Map *map, ObjectGuid const &guid)
 
template<typename T >
static void VisitObjectsToSwapOnMap (Map *map, std::unordered_set< uint32 > const &idsToRemove, T visitor)
 
static void DestroyScriptIdsFromSet (std::unordered_set< uint32 > const &idsToRemove)
 
static void InitializeScriptIdsFromSet (std::unordered_set< uint32 > const &idsToRemove)
 

Private Attributes

std::unordered_set< uint32 > ids_removed_
 

Detailed Description

template<typename ObjectType, typename ScriptType, typename Base>
class CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >

This hook is responsible for swapping Creature and GameObject AI's.

Definition at line 338 of file ScriptMgr.cpp.

Member Function Documentation

◆ BeforeReleaseContext()

template<typename ObjectType , typename ScriptType , typename Base >
void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::BeforeReleaseContext ( std::string const &  )
inlinefinaloverridevirtual

◆ BeforeSwapContext()

template<typename ObjectType , typename ScriptType , typename Base >
void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::BeforeSwapContext ( bool  )
inlineoverridevirtual

◆ BeforeUnload()

template<typename ObjectType , typename ScriptType , typename Base >
void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::BeforeUnload ( )
inlinefinaloverridevirtual

Called before Unload.

Reimplemented from ScriptRegistrySwapHookBase.

Definition at line 583 of file ScriptMgr.cpp.

References ASSERT, and CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::ids_removed_.

◆ DestroyScriptIdsFromSet()

◆ GetEntityFromMap() [1/2]

template<typename ObjectType , typename ScriptType , typename Base >
static Creature * CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::GetEntityFromMap ( std::common_type< Creature >  ,
Map *  map,
ObjectGuid const &  guid 
)
inlinestaticprivate

◆ GetEntityFromMap() [2/2]

template<typename ObjectType , typename ScriptType , typename Base >
static GameObject * CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::GetEntityFromMap ( std::common_type< GameObject >  ,
Map *  map,
ObjectGuid const &  guid 
)
inlinestaticprivate

Definition at line 472 of file ScriptMgr.cpp.

References Map::GetGameObject().

◆ InitializeScriptIdsFromSet()

◆ LoadInitializeScript() [1/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadInitializeScript ( Creature *  creature)
inlinestaticprivate

◆ LoadInitializeScript() [2/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadInitializeScript ( GameObject *  gameobject)
inlinestaticprivate

Definition at line 454 of file ScriptMgr.cpp.

References GameObject::AI(), GameObject::AIM_Initialize(), and ASSERT.

◆ LoadResetScript() [1/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadResetScript ( Creature *  creature)
inlinestaticprivate

◆ LoadResetScript() [2/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadResetScript ( GameObject *  gameobject)
inlinestaticprivate

Definition at line 462 of file ScriptMgr.cpp.

References GameObject::AI(), and GameObjectAI::Reset().

◆ UnloadDestroyScript() [1/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadDestroyScript ( Creature *  creature)
inlinestaticprivate

◆ UnloadDestroyScript() [2/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadDestroyScript ( GameObject *  gameobject)
inlinestaticprivate

Definition at line 414 of file ScriptMgr.cpp.

References GameObject::AI(), GameObject::AIM_Destroy(), and ASSERT.

◆ UnloadResetScript() [1/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadResetScript ( Creature *  creature)
inlinestaticprivate

◆ UnloadResetScript() [2/2]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadResetScript ( GameObject *  gameobject)
inlinestaticprivate

◆ VisitObjectsToSwapOnMap()

template<typename ObjectType , typename ScriptType , typename Base >
template<typename T >
static void CreatureGameObjectScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::VisitObjectsToSwapOnMap ( Map *  map,
std::unordered_set< uint32 > const &  idsToRemove,
T  visitor 
)
inlinestaticprivate

Member Data Documentation

◆ ids_removed_


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