SEventDispatchCenter.lua.txt 4.0 KB

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