summaryrefslogtreecommitdiff
path: root/EventMsgCenter
diff options
context:
space:
mode:
Diffstat (limited to 'EventMsgCenter')
-rw-r--r--EventMsgCenter/EventMsgCenter.lua34
-rw-r--r--EventMsgCenter/Events.lua18
-rw-r--r--EventMsgCenter/README.md0
3 files changed, 52 insertions, 0 deletions
diff --git a/EventMsgCenter/EventMsgCenter.lua b/EventMsgCenter/EventMsgCenter.lua
new file mode 100644
index 0000000..ffb784d
--- /dev/null
+++ b/EventMsgCenter/EventMsgCenter.lua
@@ -0,0 +1,34 @@
+-- <event, {callbacks}>
+local _broadcast = {}
+local EventMsgCenter = {}
+
+EventMsgCenter.registerMsg = function(e, callback)
+ if _broadcast[e] == nil then
+ _broadcast[e] = {}
+ end
+ table.insert(_broadcast[e], callback)
+end
+
+EventMsgCenter.unRegisterMsg = function(e, callback)
+ if _broadcast[e] == nil or callback == nil then
+ return
+ end
+ table.remove(_broadcast[e], callback)
+end
+
+EventMsgCenter.unRegisterAllMsgByEvent = function(e)
+ if _broadcast[e] == nil then
+ return
+ end
+
+end
+
+EventMsgCenter.unRegisterAllMsg = function()
+
+end
+
+EventMsgCenter.sendMsg = function(e, ...)
+
+end
+
+return EventMsgCenter
diff --git a/EventMsgCenter/Events.lua b/EventMsgCenter/Events.lua
new file mode 100644
index 0000000..443f450
--- /dev/null
+++ b/EventMsgCenter/Events.lua
@@ -0,0 +1,18 @@
+local events = {
+ "Player_Move",
+ "Player_Change",
+ "Player_Spawn",
+ "Player_Kick"
+}
+
+function CreatEnumTable(tbl, index)
+ assert(IsTable(tbl))
+ local enumtbl = {}
+ local enumindex = index or 0
+ for i, v in ipairs(tbl) do
+ enumtbl[v] = enumindex + i
+ end
+ return enumtbl
+end
+
+return CreatEnumTable(events) \ No newline at end of file
diff --git a/EventMsgCenter/README.md b/EventMsgCenter/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/EventMsgCenter/README.md