feat(Core/Modules): Preparation to implement progression-system module. (#8837)

This commit is contained in:
UltraNix
2021-11-06 14:06:12 +01:00
committed by GitHub
parent 93bbff4cca
commit 70d8b88f3b
13 changed files with 253 additions and 97 deletions

View File

@@ -117,6 +117,7 @@ void ScriptMgr::Unload()
SCR_CLEAR(PetScript);
SCR_CLEAR(ArenaScript);
SCR_CLEAR(CommandSC);
SCR_CLEAR(DatabaseScript);
#undef SCR_CLEAR
@@ -190,7 +191,8 @@ void ScriptMgr::CheckIfScriptsInDatabaseExist()
!ScriptRegistry<PetScript>::GetScriptById(sid) &&
!ScriptRegistry<CommandSC>::GetScriptById(sid) &&
!ScriptRegistry<ArenaScript>::GetScriptById(sid) &&
!ScriptRegistry<GroupScript>::GetScriptById(sid))
!ScriptRegistry<GroupScript>::GetScriptById(sid) &&
!ScriptRegistry<DatabaseScript>::GetScriptById(sid))
{
LOG_ERROR("sql.sql", "Script named '%s' is assigned in the database, but has no code!", scriptName.c_str());
}
@@ -3148,6 +3150,11 @@ void ScriptMgr::OnHandleDevCommand(Player* player, std::string& argstr)
FOREACH_SCRIPT(CommandSC)->OnHandleDevCommand(player, argstr);
}
void ScriptMgr::OnAfterDatabasesLoaded(uint32 updateFlags)
{
FOREACH_SCRIPT(DatabaseScript)->OnAfterDatabasesLoaded(updateFlags);
}
///-
AllMapScript::AllMapScript(const char* name)
: ScriptObject(name)
@@ -3426,6 +3433,11 @@ CommandSC::CommandSC(const char* name)
ScriptRegistry<CommandSC>::AddScript(this);
}
DatabaseScript::DatabaseScript(const char* name) : ScriptObject(name)
{
ScriptRegistry<DatabaseScript>::AddScript(this);
}
// Specialize for each script type class like so:
template class ScriptRegistry<SpellScriptLoader>;
template class ScriptRegistry<ServerScript>;
@@ -3467,3 +3479,4 @@ template class ScriptRegistry<MiscScript>;
template class ScriptRegistry<PetScript>;
template class ScriptRegistry<ArenaScript>;
template class ScriptRegistry<CommandSC>;
template class ScriptRegistry<DatabaseScript>;