源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

215 lines
6.5 KiB

  1. require("game.proto.452.Require452")
  2. require("game.eliteAssess.EliteAssessConst")--精英考核常量
  3. require("game.eliteAssess.EliteAssessModel")
  4. require("game.eliteAssess.view.EliteAssessView")--精英考核主界面
  5. require("game.eliteAssess.view.EliteAssessTab")--精英考核主界面tab
  6. require("game.eliteAssess.view.EliteAssessItem")--精英考核任务item
  7. require("game.eliteAssess.view.EliteAssessShowAwardView")--精英考核奖励展示界面
  8. require("game.eliteAssess.view.EliteAssessAttrItem")--精英考核属性item
  9. EliteAssessController = EliteAssessController or BaseClass(BaseController)
  10. EliteAssessController.Is_Debug = false
  11. function EliteAssessController:__init()
  12. EliteAssessController.Instance = self
  13. self.model = EliteAssessModel:getInstance()
  14. self.mainVo = RoleManager.Instance.mainRoleInfo
  15. self:RegisterAllProtocals()
  16. self:AddAllEvents()
  17. end
  18. function EliteAssessController:__delete()
  19. end
  20. function EliteAssessController:AddAllEvents()
  21. local function game_start_func()
  22. end
  23. GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
  24. -- local function CheckRedPoint( ... )
  25. -- end
  26. -- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func)
  27. local onOpenEliteAssessView = function ()--打开精英考核界面
  28. if self.EliteAssessView == nil then
  29. self.EliteAssessView = EliteAssessView.New()
  30. end
  31. if self.EliteAssessView:HasOpen() then
  32. self.EliteAssessView:UpdateView()
  33. else
  34. self.EliteAssessView:Open()
  35. end
  36. end
  37. GlobalEventSystem:Bind(EliteAssessModel.OPEN_ELITE_ASSESS_VIEW, onOpenEliteAssessView)
  38. local onCloseEliteAssessView = function ()--打开精英考核界面
  39. if self.EliteAssessView ~= nil then
  40. self.EliteAssessView:Close()
  41. end
  42. end
  43. GlobalEventSystem:Bind(EliteAssessModel.CLOSE_ELITE_ASSESS_VIEW, onCloseEliteAssessView)
  44. local function openEliteAssessShowAwardView(data,x,y)--打开精英考核奖励展示界面
  45. if self.EliteAssessShowAwardView == nil then
  46. self.EliteAssessShowAwardView = EliteAssessShowAwardView.New()
  47. end
  48. if self.EliteAssessShowAwardView:HasOpen() then
  49. -- self.EliteAssessShowAwardView:UpdateView(data)
  50. else
  51. self.EliteAssessShowAwardView:Open(data,x,y)
  52. end
  53. end
  54. self.model:Bind(EliteAssessModel.OPEN_ELITE_ASSESS_AWARD_SHOW_VIEW, openEliteAssessShowAwardView)
  55. local function onSendCmdFunc( ... )
  56. local args_list = {...}
  57. -- if args_list[1] == 45202 then
  58. -- self:SendFmtToGame(args_list[1],"h",args_list[2])
  59. if args_list[1] == 45201 then
  60. self:SendFmtToGame(args_list[1])
  61. elseif args_list[1] == 45203 then --领取任务奖励
  62. self:SendFmtToGame(args_list[1],"hh",args_list[2],args_list[3])
  63. else
  64. -- self:SendFmtToGame(args_list[1])
  65. end
  66. end
  67. self.model:Bind(EliteAssessModel.REQUEST_INFO, onSendCmdFunc)
  68. local function init_open_day( ... )--开服天数初始化
  69. self.model:Fire(EliteAssessModel.REQUEST_INFO,45201)
  70. end
  71. GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
  72. --升级
  73. local function onLevelUp(level)
  74. if GetModuleOpenLevel(452,nil) == level then
  75. self.model:Fire(EliteAssessModel.REQUEST_INFO,45201)
  76. end
  77. local eliteAssess_cfg = self.model:GetEliteAssessListCfg()
  78. for i,v in ipairs(eliteAssess_cfg) do
  79. if v.open_lv == level then
  80. self.model:Fire(EliteAssessModel.REQUEST_INFO,45201)
  81. end
  82. end
  83. end
  84. RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
  85. end
  86. function EliteAssessController:RegisterAllProtocals()
  87. self:RegisterProtocal(45201, "handle45201") -- 章节信息
  88. -- self:RegisterProtocal(45202, "handle45202") -- 领取章节奖励
  89. self:RegisterProtocal(45203, "handle45203") -- 领取任务奖励
  90. end
  91. -- ############## 章节信息 ##############
  92. -- protocol=45201
  93. -- {
  94. -- c2s{}
  95. -- s2c{
  96. -- category_list:array{
  97. -- category :int16 // 章节
  98. -- task_list:array{
  99. -- task_id :int16 // 任务Id
  100. -- progress :int32 // 进度
  101. -- status :int8 // 状态 0:未完成 1:已完成未领取 2:已领取
  102. -- }
  103. -- }
  104. -- }
  105. -- }
  106. function EliteAssessController:handle45201()
  107. local scmd = {}
  108. if not EliteAssessController.Is_Debug then
  109. scmd = SCMD45201.New(true)
  110. -- print("huangcong:EliteAssessController [116]: ",scmd)
  111. -- PrintTable(scmd)
  112. -- print("Lizhijian:EliteAssessController [start:129] ")
  113. -- PrintTable(scmd)
  114. -- print("Lizhijian:EliteAssessController [end:129] ")
  115. self.model:SetViewInfo(scmd)
  116. self.model:Fire(EliteAssessModel.UPDATE_ELITE_ASSESS_VIEW)
  117. else
  118. scmd = {}
  119. scmd.category = 1
  120. scmd.count = 0
  121. scmd.status = 0
  122. local list = {}
  123. for i=1,19 do
  124. local data = {}
  125. data.task_id = 1000+i
  126. data.progress = 0
  127. data.status = 0
  128. if i <= 6 then
  129. data.sub_category = 1
  130. elseif i > 6 and i <= 12 then
  131. data.sub_category = 2
  132. elseif i > 12 then
  133. data.sub_category = 3
  134. end
  135. list[#list + 1] = data
  136. end
  137. scmd.list = list
  138. self.model:SetViewInfo(scmd)
  139. self.model:Fire(EliteAssessModel.UPDATE_ELITE_ASSESS_VIEW)
  140. end
  141. end
  142. -- ############## 领取章节奖励 ##############
  143. -- protocol=45202
  144. -- {
  145. -- c2s{
  146. -- category :int16 // 当前章节
  147. -- }
  148. -- s2c{
  149. -- errcode :int32 // 错误码
  150. -- category :int16 // 当前章节
  151. -- }
  152. -- }
  153. -- function EliteAssessController:handle45202()
  154. -- local scmd = SCMD45202.New(true)
  155. -- -- print("huangcong:EliteAssessController [116]: ",scmd)
  156. -- -- PrintTable(scmd)
  157. -- if scmd.errcode == 1 then
  158. -- Message.show("领取成功","success")
  159. -- self.model:Fire(EliteAssessModel.REQUEST_INFO, 45201)
  160. -- if scmd.category == 2 then--章节二领完就要做动画了
  161. -- self.model:Fire(EliteAssessModel.PLAY_ELITE_ASSESS_ACTION)
  162. -- end
  163. -- else
  164. -- ErrorCodeShow(scmd.errcode)
  165. -- end
  166. -- end
  167. -- ############## 领取任务奖励 ##############
  168. -- protocol=45203
  169. -- {
  170. -- c2s{
  171. -- category :int16 // 当前章节
  172. -- sub_category :int16 // 子章节
  173. -- task_id :int16 // 任务Id
  174. -- }
  175. -- s2c{
  176. -- errcode :int32 // 错误码
  177. -- }
  178. -- }
  179. function EliteAssessController:handle45203()
  180. local scmd = SCMD45203.New(true)
  181. -- print("huangcong:EliteAssessController [116]: ",scmd)
  182. -- PrintTable(scmd)
  183. if scmd.errcode == 1 then
  184. Message.show("领取成功")
  185. lua_soundM:PlayUIEffectSound(LuaSoundManager.SOUND_UI.SUCCESS)
  186. local task = self.model:GetEliteAssessChapterTaskCfg(scmd.category)
  187. if task.task_id == scmd.task_id then
  188. self.model.force_change_tab = true
  189. end
  190. self.model:Fire(EliteAssessModel.REQUEST_INFO, 45201)
  191. else
  192. ErrorCodeShow(scmd.errcode)
  193. end
  194. end