feat(Core/Scripting): Implement AfterInstanceGameObjectCreate() global hook (#17935)

This commit is contained in:
Andrew
2023-12-03 18:04:16 -03:00
committed by GitHub
parent 8702568033
commit 0fa6a67815
4 changed files with 19 additions and 0 deletions

View File

@@ -232,6 +232,20 @@ void ScriptMgr::OnBeforeSetBossState(uint32 id, EncounterState newState, Encount
});
}
/**
* @brief Called when a game object is created inside an instance
*
* @param instance A pointer to the [map] object of the instance
* @param go The object being added
*/
void ScriptMgr::AfterInstanceGameObjectCreate(Map* instance, GameObject* go)
{
ExecuteScript<GlobalScript>([&](GlobalScript* script)
{
script->AfterInstanceGameObjectCreate(instance, go);
});
}
GlobalScript::GlobalScript(const char* name)
: ScriptObject(name)
{

View File

@@ -72,6 +72,9 @@ public:
// Called when any raid boss has their state updated (e.g. pull, reset, kill)
virtual void OnBeforeSetBossState(uint32 /*id*/, EncounterState /*newState*/, EncounterState /*oldState*/, Map* /*instance*/) { }
// Called when a gameobject is created by an instance
virtual void AfterInstanceGameObjectCreate(Map* /*instance*/, GameObject* /*go*/) { }
};
#endif