SEventDispatchCenter.lua.txt 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. local SEventDispatchCenter = {}
  2. SEventDispatchCenter.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. -- NET EVENT
  9. NET_CONNECT_STATE = "NET_CONNECT_STATE",
  10. NET_LOGIN_RET = "NET_LOGIN_RET",
  11. NET_UPDATE_BASE_DATA = "NET_UPDATE_BASE_DATA",
  12. NET_MODIFY_PLAYER_NAME_RET = "NET_MODIFY_PLAYER_NAME_RET",
  13. NET_UPDATE_DATA_FINISH = "NET_UPDATE_DATA_FINISH",
  14. NET_UPDATE_SERVER_TIME = "NET_UPDATE_SERVER_TIME",
  15. NET_UPDATE_PLAYER_COIN = "NET_UPDATE_PLAYER_COIN",
  16. -- TALENT
  17. NET_UPDATE_TALENT = "NET_UPDATE_TALENT",
  18. -- SKILL
  19. NET_INIT_SKILL_LIST = "NET_INIT_SKILL_LIST",
  20. NET_UPDATE_SKILL_LIST = "NET_UPDATE_SKILL_LIST",
  21. NET_UPDATE_SKILL_INFO = "NET_UPDATE_SKILL_INFO",
  22. NET_INIT_TRAIN_SKILL_LIST = "NET_INIT_TRAIN_SKILL_LIST",
  23. NET_REMOVE_TRAIN_SKILL_LIST = "NET_REMOVE_TRAIN_SKILL_LIST",
  24. NET_REMOVE_TRAIN_SKILL_INFO = "NET_REMOVE_TRAIN_SKILL_INFO",
  25. NET_UPDATE_TRAIN_SKILL_LIST = "NET_UPDATE_TRAIN_SKILL_LIST",
  26. NET_UPDATE_TRAIN_SKILL_INFO = "NET_UPDATE_TRAIN_SKILL_INFO",
  27. NET_ADD_TRAIN_SKILL_INFO = "NET_ADD_TRAIN_SKILL_INFO",
  28. -- ITEM
  29. NET_UPDATE_ITEM_LIST = "NET_UPDATE_ITEM_LIST",
  30. NET_UPDATE_ITEM_INFO = "NET_UPDATE_ITEM_INFO",
  31. -- UI EVENT
  32. UI_UPDATE_SYNC_STEP = "UI_UPDATE_SYNC_STEP",
  33. UI_BATTLE_MATCH = "UI_BATTLE_MATCH",
  34. UI_UPDATE_SKILL_LIST = "UI_UPDATE_SKILL_LIST",
  35. UI_UPDATE_SKILL_TRAIN_LIST = "UI_UPDATE_SKILL_TRAIN_LIST",
  36. UI_DELETE_TRAIN_SKILL_LIST = "UI_DELETE_TRAIN_SKILL_LIST",
  37. UI_DELETE_TRAIN_SKILL = "UI_DELETE_TRAIN_SKILL",
  38. UI_CLOSE_SKILL_DETAIL_DIALOG = "UI_CLOSE_SKILL_DETAIL_DIALOG",
  39. UI_UPDATE_TRAIN_SKILL_TIME = "UI_UPDATE_TRAIN_SKILL_TIME",
  40. UI_CLOSE_MODIFY_PLAYER_NAME = "UI_CLOSE_MODIFY_PLAYER_NAME",
  41. -- BATTLE EVENT
  42. BATTLE_MATCH_SUCCESS = "BATTLE_MATCH_SUCCESS",
  43. DRAG_SKILL_MOUSE_POSITION = "DRAG_SKILL_MOUSE_POSITION",
  44. START_MOVE = "START_MOVE",
  45. START_MOVE_RET = "START_MOVE_RET",
  46. SKILL_INDICATOR = "SKILL_INDICATOR",
  47. }
  48. SEventDispatchCenter.EventQuene = {}
  49. function SEventDispatchCenter:RegisterEvent(eventType, callback)
  50. print("--------------------> SEventDispatchCenter:RegisterEvent eventType", eventType, callback)
  51. if self.EventType[eventType] == nil or type(callback) ~= "function" then
  52. print("SEventDispatchCenter:RegisterEvent param is error~ eventType:", eventType)
  53. return
  54. end
  55. if self.EventQuene[eventType] == nil then
  56. self.EventQuene[eventType] = {}
  57. end
  58. --local index = table.getn(self.EventQuene[eventType])
  59. --self.EventQuene[eventType][index + 1] = callback
  60. table.insert(self.EventQuene[eventType], callback)
  61. end
  62. function SEventDispatchCenter:UnregisterEvent(eventType, callback)
  63. print("--------------------> SEventDispatchCenter:UnregisterEvent eventType", eventType, callback)
  64. if self.EventQuene[eventType] == nil or type(callback) ~= "function" then
  65. print("SEventDispatchCenter:UnregisterEvent param is error~ eventType:", eventType)
  66. return
  67. end
  68. for k, v in pairs(self.EventQuene[eventType]) do
  69. if callback == v then
  70. table.remove(self.EventQuene[eventType], k)
  71. return
  72. end
  73. end
  74. end
  75. function SEventDispatchCenter:DispatchEvent(eventType, ...)
  76. print("--------------------> SEventDispatchCenter:Dispatch eventType", eventType)
  77. if self.EventType[eventType] == nil then
  78. print("SEventDispatchCenter:DispatchEvent eventType is unknow : ", eventType)
  79. return
  80. end
  81. if self.EventQuene[eventType] == nil then
  82. print("SEventDispatchCenter:DispatchEvent callback is nil eventType:", eventType)
  83. return
  84. end
  85. for k, v in pairs(self.EventQuene[eventType]) do
  86. v(...)
  87. end
  88. end
  89. return SEventDispatchCenter