summaryrefslogtreecommitdiff
path: root/EventMsgCenter/EventMsgCenter.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-07-26 20:34:10 +0800
committerchai <chaifix@163.com>2018-07-26 20:34:10 +0800
commit2542f56bca2556b4393d382688be74c1612b2862 (patch)
treea34a497e0b68c52d711fde6ed013e6d9a42bded5 /EventMsgCenter/EventMsgCenter.lua
parent5815fa72ac78149d3efac6ab482056de0b7dbd03 (diff)
+UI module
Diffstat (limited to 'EventMsgCenter/EventMsgCenter.lua')
-rw-r--r--EventMsgCenter/EventMsgCenter.lua23
1 files changed, 18 insertions, 5 deletions
diff --git a/EventMsgCenter/EventMsgCenter.lua b/EventMsgCenter/EventMsgCenter.lua
index ffb784d..8ca7a5b 100644
--- a/EventMsgCenter/EventMsgCenter.lua
+++ b/EventMsgCenter/EventMsgCenter.lua
@@ -2,11 +2,16 @@
local _broadcast = {}
local EventMsgCenter = {}
-EventMsgCenter.registerMsg = function(e, callback)
+EventMsgCenter.registerMsg = function(e, callback, first)
if _broadcast[e] == nil then
_broadcast[e] = {}
+ end
+ first = first or false
+ if not first then
+ table.insert(_broadcast[e], callback)
+ else
+ table.insert(_broadcast[e], 1, callback)
end
- table.insert(_broadcast[e], callback)
end
EventMsgCenter.unRegisterMsg = function(e, callback)
@@ -20,15 +25,23 @@ EventMsgCenter.unRegisterAllMsgByEvent = function(e)
if _broadcast[e] == nil then
return
end
-
+ _broadcast[e] = nil
end
EventMsgCenter.unRegisterAllMsg = function()
-
+ _broadcast = {}
end
EventMsgCenter.sendMsg = function(e, ...)
-
+ local callbacks = _broadcast[e]
+ if callbacks == nil then
+ return
+ end
+ for _, f in ipairs(callbacks) do
+ if f ~= nil then
+ f(...)
+ end
+ end
end
return EventMsgCenter