ZEventDispatchCenter.lua.txt 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. local ZEventDispatchCenter = {}
  2. ZEventDispatchCenter.EventType = {
  3. -- UPDATE EVENT
  4. UPDATE_RETRY = "UPDATE_RETRY",
  5. UPDATE_STATE_INFO = "UPDATE_STATE_INFO",
  6. UPDATE_PROGRESS_PERCENT = "UPDATE_PROGRESS_PERCENT",
  7. UPDATE_SHOW_TIPS = "UPDATE_SHOW_TIPS",
  8. UPDATE_SHOW_UPDATE_DETAIL = "UPDATE_SHOW_UPDATE_DETAIL",
  9. -- COMMON EVENT
  10. COMMON_SET_ENTRY_BUTTON = "COMMON_SET_ENTRY_BUTTON",
  11. COMMON_SET_GESTUREINPUT = "COMMON_SET_GESTUREINPUT",
  12. COMMON_REMOTE_RETURN = "COMMON_REMOTE_RETURN",
  13. COMMON_SELECT_BUTTON = "COMMON_SELECT_BUTTON",
  14. COMMON_SELECT_SCROLL = "COMMON_SELECT_SCROLL",
  15. COMMON_MENU_CLICK_BUTTON = "COMMON_MENU_CLICK_BUTTON",
  16. COMMON_UI_NAVIGATOR_ANIM = "COMMON_UI_NAVIGATOR_ANIM",
  17. COMMON_UI_NAVIGATOR_SELECT_MENU = "COMMON_UI_NAVIGATOR_SELECT_MENU",
  18. COMMON_UI_NAVIGATOR_SELECT = "COMMON_UI_NAVIGATOR_SELECT",
  19. COMMON_UI_PAGE_MODULE_EFFECT = "COMMON_UI_PAGE_MODULE_EFFECT",
  20. COMMON_UI_PAGE_MODULE_CHANGE_SHADOW_IMG = "COMMON_UI_PAGE_MODULE_CHANGE_SHADOW_IMG",
  21. COMMON_UI_PAGE_MODULE_CHANGE_EFFENT_TYPE = "COMMON_UI_PAGE_MODULE_CHANGE_EFFENT_TYPE",
  22. COMMON_UI_PAGE_MODULE_REFRESH_UI = "COMMON_UI_PAGE_MODULE_REFRESH_UI",
  23. COMMON_UI_PAGE_CHANGE = "COMMON_UI_PAGE_CHANGE",
  24. COMMON_UI_PAGE_PRE = "COMMON_UI_PAGE_PRE",
  25. COMMON_UI_PAGE_NEXT = "COMMON_UI_PAGE_NEXT",
  26. -- NET EVENT
  27. NET_CONNECT_STATE = "NET_CONNECT_STATE",
  28. HEARTBEAT = "HEARTBEAT",
  29. }
  30. ZEventDispatchCenter.EventQuene = {}
  31. function ZEventDispatchCenter:RegisterEvent(eventType, callback)
  32. print("--------------------> ZEventDispatchCenter:RegisterEvent eventType", eventType, callback)
  33. if self.EventType[eventType] == nil or type(callback) ~= "function" then
  34. print("ZEventDispatchCenter:RegisterEvent param is error~ eventType:", eventType)
  35. return
  36. end
  37. if self.EventQuene[eventType] == nil then
  38. self.EventQuene[eventType] = {}
  39. end
  40. --local index = table.getn(self.EventQuene[eventType])
  41. --self.EventQuene[eventType][index + 1] = callback
  42. table.insert(self.EventQuene[eventType], callback)
  43. end
  44. function ZEventDispatchCenter:UnregisterEvent(eventType, callback)
  45. print("--------------------> ZEventDispatchCenter:UnregisterEvent eventType", eventType, callback)
  46. if self.EventQuene[eventType] == nil or type(callback) ~= "function" then
  47. print("ZEventDispatchCenter:UnregisterEvent param is error~ eventType:", eventType)
  48. return
  49. end
  50. for k, v in pairs(self.EventQuene[eventType]) do
  51. if callback == v then
  52. table.remove(self.EventQuene[eventType], k)
  53. return
  54. end
  55. end
  56. end
  57. function ZEventDispatchCenter:DispatchEvent(eventType, ...)
  58. print("--------------------> ZEventDispatchCenter:Dispatch eventType", eventType)
  59. if self.EventType[eventType] == nil then
  60. print("ZEventDispatchCenter:DispatchEvent eventType is unknow : ", eventType)
  61. return
  62. end
  63. if self.EventQuene[eventType] == nil then
  64. print("ZEventDispatchCenter:DispatchEvent callback is nil eventType:", eventType)
  65. return
  66. end
  67. for k, v in pairs(self.EventQuene[eventType]) do
  68. v(...)
  69. end
  70. end
  71. return ZEventDispatchCenter