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

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

+ Inheritance diagram for CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< 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.
 
void OnScriptNamesSync () final override
 Called manually to sync scriptnames.
 
- 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 UnloadResetScript (AreaTrigger *at)
 
static void UnloadDestroyScript (AreaTrigger *at)
 
static void UnloadResetScript (Conversation *conversation)
 
static void UnloadDestroyScript (Conversation *conversation)
 
static void LoadInitializeScript (Creature *creature)
 
static void LoadResetScript (Creature *creature)
 
static void LoadInitializeScript (GameObject *gameobject)
 
static void LoadResetScript (GameObject *gameobject)
 
static void LoadInitializeScript (AreaTrigger *at)
 
static void LoadResetScript (AreaTrigger *at)
 
static void LoadInitializeScript (Conversation *conversation)
 
static void LoadResetScript (Conversation *conversation)
 
static Creature * GetEntityFromMap (std::common_type< Creature >, Map *map, ObjectGuid const &guid)
 
static GameObject * GetEntityFromMap (std::common_type< GameObject >, Map *map, ObjectGuid const &guid)
 
static AreaTrigger * GetEntityFromMap (std::common_type< AreaTrigger >, Map *map, ObjectGuid const &guid)
 
static Conversation * GetEntityFromMap (std::common_type< Conversation >, Map *map, ObjectGuid const &guid)
 
static auto VisitObjectsToSwapOnMap (std::unordered_set< uint32 > const &idsToRemove)
 
static auto VisitObjectsWhereIdWasUpdated ()
 
template<typename T >
static void DestroyScriptIdsWithVisitor (T &&visitor)
 
template<typename T >
static void InitializeScriptIdsWithVisitor (T &&visitor)
 

Private Attributes

std::unordered_set< uint32 > ids_removed_
 

Detailed Description

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

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

Definition at line 391 of file ScriptMgr.cpp.

Member Function Documentation

◆ BeforeReleaseContext()

◆ BeforeSwapContext()

◆ BeforeUnload()

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

◆ DestroyScriptIdsWithVisitor()

◆ GetEntityFromMap() [1/4]

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

Definition at line 594 of file ScriptMgr.cpp.

References Map::GetAreaTrigger().

◆ GetEntityFromMap() [2/4]

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

Definition at line 599 of file ScriptMgr.cpp.

References Map::GetConversation().

◆ GetEntityFromMap() [3/4]

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

◆ GetEntityFromMap() [4/4]

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

Definition at line 589 of file ScriptMgr.cpp.

References Map::GetGameObject().

◆ InitializeScriptIdsWithVisitor()

◆ LoadInitializeScript() [1/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadInitializeScript ( AreaTrigger *  at)
inlinestaticprivate

Definition at line 557 of file ScriptMgr.cpp.

References AreaTrigger::AI(), AreaTrigger::AI_Initialize(), and ASSERT.

◆ LoadInitializeScript() [2/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadInitializeScript ( Conversation *  conversation)
inlinestaticprivate

Definition at line 571 of file ScriptMgr.cpp.

References Conversation::AI(), Conversation::AI_Initialize(), and ASSERT.

◆ LoadInitializeScript() [3/4]

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

◆ LoadInitializeScript() [4/4]

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

Definition at line 543 of file ScriptMgr.cpp.

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

◆ LoadResetScript() [1/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadResetScript ( AreaTrigger *  at)
inlinestaticprivate

Definition at line 565 of file ScriptMgr.cpp.

References AreaTrigger::AI(), and AreaTriggerAI::OnCreate().

◆ LoadResetScript() [2/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::LoadResetScript ( Conversation *  conversation)
inlinestaticprivate

Definition at line 579 of file ScriptMgr.cpp.

References Conversation::AI(), and ConversationAI::OnCreate().

◆ LoadResetScript() [3/4]

◆ LoadResetScript() [4/4]

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

Definition at line 551 of file ScriptMgr.cpp.

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

◆ OnScriptNamesSync()

◆ UnloadDestroyScript() [1/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadDestroyScript ( AreaTrigger *  at)
inlinestaticprivate

Definition at line 485 of file ScriptMgr.cpp.

References AreaTrigger::AI(), AreaTrigger::AI_Destroy(), and ASSERT.

◆ UnloadDestroyScript() [2/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadDestroyScript ( Conversation *  conversation)
inlinestaticprivate

Definition at line 503 of file ScriptMgr.cpp.

References Conversation::AI(), Conversation::AI_Destroy(), and ASSERT.

◆ UnloadDestroyScript() [3/4]

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

◆ UnloadDestroyScript() [4/4]

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

Definition at line 467 of file ScriptMgr.cpp.

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

◆ UnloadResetScript() [1/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadResetScript ( AreaTrigger *  at)
inlinestaticprivate

◆ UnloadResetScript() [2/4]

template<typename ObjectType , typename ScriptType , typename Base >
static void CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::UnloadResetScript ( Conversation *  conversation)
inlinestaticprivate

◆ UnloadResetScript() [3/4]

◆ UnloadResetScript() [4/4]

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

◆ VisitObjectsToSwapOnMap()

template<typename ObjectType , typename ScriptType , typename Base >
static auto CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::VisitObjectsToSwapOnMap ( std::unordered_set< uint32 > const &  idsToRemove)
inlinestaticprivate

◆ VisitObjectsWhereIdWasUpdated()

template<typename ObjectType , typename ScriptType , typename Base >
static auto CreatureGameObjectAreaTriggerConversationScriptRegistrySwapHooks< ObjectType, ScriptType, Base >::VisitObjectsWhereIdWasUpdated ( )
inlinestaticprivate

Member Data Documentation

◆ ids_removed_


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