aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorSpp <none@none>2010-09-14 16:37:54 +0200
committerSpp <none@none>2010-09-14 16:37:54 +0200
commit80051c6d3c81f0716ae92c008c6b0977a2f18f32 (patch)
tree845b03907b2be392f6c36de44ce978f11efed876 /src/server/game/Scripting/ScriptMgr.h
parent8c74993a43b7ec13c3019bf4ec59867fc57e0a2e (diff)
Core/Scripts: Add GroupScript class
--HG-- branch : trunk
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 622b39c2805..6e030638d38 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -726,6 +726,21 @@ class GuildScript : public ScriptObject
virtual void OnDisband(Guild* /*guild*/) { }
};
+class GroupScript : public ScriptObject
+{
+protected:
+ GroupScript(const char* name);
+
+public:
+ bool IsDatabaseBound() const { return false; }
+
+ virtual void OnAddMember(Group* /*group*/, uint64 /*guid*/) { }
+ virtual void OnInviteMember(Group* /*group*/, uint64 /*guid*/) { }
+ virtual void OnRemoveMember(Group* /*group*/, uint64 /*guid*/, RemoveMethod& /*method*/) { }
+ virtual void OnChangeLeader(Group* /*group*/, uint64 /*newLeaderGuid*/, uint64 /*oldLeaderGuid*/) { }
+ virtual void OnDisband(Group* /*group*/) { }
+};
+
// Placed here due to ScriptRegistry::AddScript dependency.
#define sScriptMgr (*ACE_Singleton<ScriptMgr, ACE_Null_Mutex>::instance())
@@ -924,6 +939,13 @@ class ScriptMgr
void OnGuildInfoChanged(Guild *guild, std::string newGInfo);
void OnGuildDisband(Guild *guild);
+ public: /* GroupScript */
+ void OnGroupAddMember(Group* group, uint64 guid);
+ void OnGroupInviteMember(Group* group, uint64 guid);
+ void OnGroupRemoveMember(Group* group, uint64 guid, RemoveMethod method);
+ void OnGroupChangeLeader(Group* group, uint64 newLeaderGuid, uint64 oldLeaderGuid);
+ void OnGroupDisband(Group* group);
+
public: /* ScriptRegistry */
// This is the global static registry of scripts.