feat(Core/Scripts): Optimize DatabaseScript (#18709)

Add files via upload
This commit is contained in:
天鹿
2024-04-12 21:52:43 +08:00
committed by GitHub
parent 97fc546c4b
commit bf4f9774c1
2 changed files with 18 additions and 11 deletions

View File

@@ -21,23 +21,23 @@
void ScriptMgr::OnAfterDatabasesLoaded(uint32 updateFlags)
{
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
{
script->OnAfterDatabasesLoaded(updateFlags);
});
CALL_ENABLED_HOOKS(DatabaseScript, DATABASEHOOK_ON_AFTER_DATABASES_LOADED, script->OnAfterDatabasesLoaded(updateFlags));
}
void ScriptMgr::OnAfterDatabaseLoadCreatureTemplates(std::vector<CreatureTemplate*> creatureTemplates)
{
ExecuteScript<DatabaseScript>([&](DatabaseScript* script)
{
script->OnAfterDatabaseLoadCreatureTemplates(creatureTemplates);
});
CALL_ENABLED_HOOKS(DatabaseScript, DATABASEHOOK_ON_AFTER_DATABASE_LOAD_CREATURETEMPLATES, script->OnAfterDatabaseLoadCreatureTemplates(creatureTemplates));
}
DatabaseScript::DatabaseScript(const char* name) : ScriptObject(name)
DatabaseScript::DatabaseScript(const char* name, std::vector<uint16> enabledHooks)
: ScriptObject(name, DATABASEHOOK_END)
{
ScriptRegistry<DatabaseScript>::AddScript(this);
// If empty - enable all available hooks.
if (enabledHooks.empty())
for (uint16 i = 0; i < DATABASEHOOK_END; ++i)
enabledHooks.emplace_back(i);
ScriptRegistry<DatabaseScript>::AddScript(this, std::move(enabledHooks));
}
template class AC_GAME_API ScriptRegistry<DatabaseScript>;