initReload.lua 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. local layerFiles = {
  2. -- debug map
  3. -- "game/view/scene/DebugMapLayout",
  4. -- "game/view/csd/framerate/framerate",
  5. -- "game/view/layersui/framerate/FrameRateLayout",
  6. -- "game/view/layersui/comb_skill_layer/CombSkillLayer",
  7. -- "game/view/layersui/advance_level_layer/AdvanceLevelLayer",
  8. -- "game/view/layersui/vip_layer/ColourVipPanel",
  9. -- "game/view/layersui/preview_anim/PreviewAnimLayout",
  10. -- "game/view/export/preview_anim/preview_anim",
  11. -- "game/view/layersui/comb_skill_layer/CombSkillLayer",
  12. -- "game/view/layersui/advance_level_layer/AdvanceLevelLayer",
  13. -- "game/view/layersui/heart_magic_layer/HeartMagicLayer"
  14. --"game/view/layersui/hero_layer/HeroSelectSkillLayer",
  15. }
  16. local mediatorFiles = {
  17. -- debug map
  18. -- "game/mediator/debug_map/DebugMapMediator",
  19. -- "game/mediator/couping/FrameRateMediator",
  20. -- "game/mediator/comb_skill_layer/CombSkillMediator",
  21. -- "game/mediator/advance_level_layer/AdvanceLevelMediator",
  22. -- "game/mediator/comb_skill_layer/CombSkillMediator",
  23. -- "game/mediator/advance_level_layer/AdvanceLevelMediator"
  24. }
  25. local voFiles = {}
  26. -- warning, remote proxy maybe register msg handler twice.
  27. local proxyFiles = {}
  28. local utilFiles = {}
  29. local cmdFiles = nil
  30. local function reloadLayer(files)
  31. for _, v in pairs(files) do
  32. package.loaded[v] = nil
  33. require(v)
  34. print("Reload File:" .. v .. ".lua")
  35. end
  36. end
  37. local function reloadMediaotr(files)
  38. for _, v in pairs(files) do
  39. if package.loaded[v] then
  40. -- invoke unloaded
  41. package.loaded[v].OnUnloaded()
  42. package.loaded[v] = nil
  43. end
  44. local mediator = require(v)
  45. -- invoke loaded
  46. mediator.Onloaded()
  47. print("Reload File:" .. v .. ".lua")
  48. end
  49. end
  50. local function reloadProxy(files)
  51. for _, v in pairs(files) do
  52. if package.loaded[v] then
  53. -- invoke unloaded
  54. package.loaded[v].OnUnloaded()
  55. package.loaded[v] = nil
  56. end
  57. local proxy = require(v)
  58. -- invoke loaded
  59. proxy.Onloaded()
  60. print("Reload File:" .. v .. ".lua")
  61. end
  62. end
  63. local function reloadVO(files)
  64. for _, v in pairs(files) do
  65. package.loaded[v] = nil
  66. require(v)
  67. print("Reload File:" .. v .. ".lua")
  68. end
  69. end
  70. local function reloadUtil(files)
  71. for _, v in pairs(files) do
  72. package.loaded[v] = nil
  73. require(v)
  74. print("Reload File:" .. v .. ".lua")
  75. end
  76. end
  77. local function reloadCommand(files)
  78. for k, v in pairs(files) do
  79. if package.loaded[v] then
  80. global.Facade:removeCommand( k )
  81. package.loaded[v] = nil
  82. end
  83. local command = require(v)
  84. global.Facade:registerCommand( k, command )
  85. print("Reload File:" .. v .. ".lua")
  86. end
  87. end
  88. local function UnitTest()
  89. end
  90. local function reload_func()
  91. print("====================================================================")
  92. -- 1. layer
  93. if #layerFiles > 0 then
  94. print("************************* reload layer *****************************")
  95. reloadLayer(layerFiles)
  96. end
  97. -- 2. mediator
  98. if #mediatorFiles > 0 then
  99. print("************************* reload mediator **************************")
  100. reloadMediaotr(mediatorFiles)
  101. end
  102. -- 3. VO
  103. if #voFiles > 0 then
  104. print("************************* reload ValueObject ***********************")
  105. reloadVO(voFiles)
  106. end
  107. -- 4. proxy
  108. if #proxyFiles > 0 then
  109. print("************************* reload proxy *****************************")
  110. reloadProxy(proxyFiles)
  111. end
  112. -- 5. util
  113. if utilFiles and #utilFiles > 0 then
  114. print("************************* reload util *****************************")
  115. reloadUtil(utilFiles)
  116. end
  117. -- 6. command
  118. if cmdFiles then
  119. print("************************* reload command *****************************")
  120. reloadCommand(cmdFiles)
  121. end
  122. -- 7. unit test
  123. if UnitTest then
  124. print("************************* unit test *****************************")
  125. UnitTest()
  126. end
  127. print("====================================================================")
  128. end
  129. function reload_script_files()
  130. -- debug switch
  131. _DEBUG = true
  132. -- default reload
  133. reload_func()
  134. -- local reload
  135. local localReloadPath = "scripts/init/localReload.lua"
  136. local loadReloadName = "init/localReload"
  137. if cc.FileUtils:getInstance():isFileExist( localReloadPath ) then
  138. package.loaded[loadReloadName] = nil
  139. local localReload = require(loadReloadName)
  140. layerFiles = localReload.layerFiles
  141. mediatorFiles = localReload.mediatorFiles
  142. voFiles = localReload.voFiles
  143. proxyFiles = localReload.proxyFiles
  144. utilFiles = localReload.utilFiles
  145. cmdFiles = localReload.cmdFiles
  146. UnitTest = localReload.UnitTest
  147. reload_func()
  148. end
  149. end