| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- local ZEventDispatchCenter = {}
- ZEventDispatchCenter.EventType = {
- -- UPDATE EVENT
- UPDATE_RETRY = "UPDATE_RETRY",
- UPDATE_STATE_INFO = "UPDATE_STATE_INFO",
- UPDATE_PROGRESS_PERCENT = "UPDATE_PROGRESS_PERCENT",
- UPDATE_SHOW_TIPS = "UPDATE_SHOW_TIPS",
- UPDATE_SHOW_UPDATE_DETAIL = "UPDATE_SHOW_UPDATE_DETAIL",
- -- NET EVENT
- NET_CONNECT_STATE = "NET_CONNECT_STATE",
- HEARTBEAT = "HEARTBEAT",
- }
- ZEventDispatchCenter.EventQuene = {}
- function ZEventDispatchCenter:RegisterEvent(eventType, callback)
- print("--------------------> ZEventDispatchCenter:RegisterEvent eventType", eventType, callback)
- if self.EventType[eventType] == nil or type(callback) ~= "function" then
- print("ZEventDispatchCenter:RegisterEvent param is error~ eventType:", eventType)
- return
- end
- if self.EventQuene[eventType] == nil then
- self.EventQuene[eventType] = {}
- end
- --local index = table.getn(self.EventQuene[eventType])
- --self.EventQuene[eventType][index + 1] = callback
- table.insert(self.EventQuene[eventType], callback)
- end
- function ZEventDispatchCenter:UnregisterEvent(eventType, callback)
- print("--------------------> ZEventDispatchCenter:UnregisterEvent eventType", eventType, callback)
- if self.EventQuene[eventType] == nil or type(callback) ~= "function" then
- print("ZEventDispatchCenter:UnregisterEvent param is error~ eventType:", eventType)
- return
- end
- for k, v in pairs(self.EventQuene[eventType]) do
- if callback == v then
- table.remove(self.EventQuene[eventType], k)
- return
- end
- end
- end
- function ZEventDispatchCenter:DispatchEvent(eventType, ...)
- print("--------------------> ZEventDispatchCenter:Dispatch eventType", eventType)
- if self.EventType[eventType] == nil then
- print("ZEventDispatchCenter:DispatchEvent eventType is unknow : ", eventType)
- return
- end
- if self.EventQuene[eventType] == nil then
- print("ZEventDispatchCenter:DispatchEvent callback is nil eventType:", eventType)
- return
- end
- for k, v in pairs(self.EventQuene[eventType]) do
- v(...)
- end
- end
- return ZEventDispatchCenter
|