summaryrefslogtreecommitdiff
path: root/EventMsgCenter
diff options
context:
space:
mode:
Diffstat (limited to 'EventMsgCenter')
-rw-r--r--EventMsgCenter/EventMsgCenter.lua25
-rw-r--r--EventMsgCenter/Events.lua1
-rw-r--r--EventMsgCenter/README.md2
3 files changed, 18 insertions, 10 deletions
diff --git a/EventMsgCenter/EventMsgCenter.lua b/EventMsgCenter/EventMsgCenter.lua
index 43e859b..7b944c2 100644
--- a/EventMsgCenter/EventMsgCenter.lua
+++ b/EventMsgCenter/EventMsgCenter.lua
@@ -1,13 +1,14 @@
+local EventMsgCenter = {}
+
-- <event, {callbacks}>
local _broadcast = {}
-local EventMsgCenter = {}
EventMsgCenter.registerMsg = function(e, callback, first)
if _broadcast[e] == nil then
_broadcast[e] = {}
end
first = first or false
- EventMsgCenter.unRegisterMsg(e, callback)
+ EventMsgCenter.unregisterMsg(e, callback)
if not first then
table.insert(_broadcast[e], callback)
else
@@ -15,21 +16,27 @@ EventMsgCenter.registerMsg = function(e, callback, first)
end
end
-EventMsgCenter.unRegisterMsg = function(e, callback)
- if _broadcast[e] == nil or callback == nil then
- return
+local removeElement = function(t, e)
+ for i, v in ipairs(t) do
+ if v == e then
+ table.remove(t, i)
+ break
+ end
end
- table.remove(_broadcast[e], callback)
end
-EventMsgCenter.unRegisterAllMsgByEvent = function(e)
- if _broadcast[e] == nil then
+EventMsgCenter.unregisterMsg = function(e, callback)
+ if _broadcast[e] == nil or callback == nil then
return
end
+ removeElement(_broadcast[e], callback)
+end
+
+EventMsgCenter.unregisterAllMsgByEvent = function(e)
_broadcast[e] = nil
end
-EventMsgCenter.unRegisterAllMsg = function()
+EventMsgCenter.unregisterAllMsg = function()
_broadcast = {}
end
diff --git a/EventMsgCenter/Events.lua b/EventMsgCenter/Events.lua
index 5c45f2e..3803fd4 100644
--- a/EventMsgCenter/Events.lua
+++ b/EventMsgCenter/Events.lua
@@ -10,7 +10,6 @@ local events = {
}
function CreatEnumTable(tbl, index)
- assert(IsTable(tbl))
local enumtbl = {}
local enumindex = index or 0
for i, v in ipairs(tbl) do
diff --git a/EventMsgCenter/README.md b/EventMsgCenter/README.md
index e69de29..ef3bd92 100644
--- a/EventMsgCenter/README.md
+++ b/EventMsgCenter/README.md
@@ -0,0 +1,2 @@
+Event Massage Center
+