From 80051c6d3c81f0716ae92c008c6b0977a2f18f32 Mon Sep 17 00:00:00 2001 From: Spp Date: Tue, 14 Sep 2010 16:37:54 +0200 Subject: Core/Scripts: Add GroupScript class --HG-- branch : trunk --- src/server/game/Scripting/ScriptMgr.cpp | 38 +++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'src/server/game/Scripting/ScriptMgr.cpp') diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp index 3d8f04fa23d..efeff81b976 100644 --- a/src/server/game/Scripting/ScriptMgr.cpp +++ b/src/server/game/Scripting/ScriptMgr.cpp @@ -174,6 +174,7 @@ ScriptMgr::~ScriptMgr() SCR_CLEAR(AchievementCriteriaScript); SCR_CLEAR(PlayerScript); SCR_CLEAR(GuildScript); + SCR_CLEAR(GroupScript); #undef SCR_CLEAR } @@ -1199,6 +1200,36 @@ void ScriptMgr::OnGuildDisband(Guild *guild) FOREACH_SCRIPT(GuildScript)->OnDisband(guild); } +void ScriptMgr::OnGroupAddMember(Group* group, uint64 guid) +{ + ASSERT(group); + FOREACH_SCRIPT(GroupScript)->OnAddMember(group, guid); +} + +void ScriptMgr::OnGroupInviteMember(Group* group, uint64 guid) +{ + ASSERT(group); + FOREACH_SCRIPT(GroupScript)->OnInviteMember(group, guid); +} + +void ScriptMgr::OnGroupRemoveMember(Group* group, uint64 guid, RemoveMethod method) +{ + ASSERT(group); + FOREACH_SCRIPT(GroupScript)->OnRemoveMember(group, guid, method); +} + +void ScriptMgr::OnGroupChangeLeader(Group* group, uint64 newLeaderGuid, uint64 oldLeaderGuid) +{ + ASSERT(group); + FOREACH_SCRIPT(GroupScript)->OnChangeLeader(group, newLeaderGuid, oldLeaderGuid); +} + +void ScriptMgr::OnGroupDisband(Group* group) +{ + ASSERT(group); + FOREACH_SCRIPT(GroupScript)->OnDisband(group); +} + SpellScriptLoader::SpellScriptLoader(const char* name) : ScriptObject(name) { @@ -1346,6 +1377,12 @@ GuildScript::GuildScript(const char* name) ScriptMgr::ScriptRegistry::AddScript(this); } +GroupScript::GroupScript(const char* name) + : ScriptObject(name) +{ + ScriptMgr::ScriptRegistry::AddScript(this); +} + // Instantiate static members of ScriptMgr::ScriptRegistry. template std::map ScriptMgr::ScriptRegistry::ScriptPointerList; template uint32 ScriptMgr::ScriptRegistry::_scriptIdCounter = 0; @@ -1374,6 +1411,7 @@ template class ScriptMgr::ScriptRegistry; template class ScriptMgr::ScriptRegistry; template class ScriptMgr::ScriptRegistry; template class ScriptMgr::ScriptRegistry; +template class ScriptMgr::ScriptRegistry; // Undefine utility macros. #undef GET_SCRIPT_RET -- cgit v1.2.3