源战役客户端
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

116 行
2.9 KiB

  1. require("game.proto.114.Require114")
  2. require("game.newerTask.NewerTaskConst")
  3. require("game.newerTask.NewerTaskModel")
  4. require("game.newerTask.NewerTaskMainView")
  5. require("game.newerTask.NewerTaskItem")
  6. require("game.newerTask.NewerTaskPartView")
  7. NewerTaskController = NewerTaskController or BaseClass(BaseController, true)
  8. function NewerTaskController:__init()
  9. NewerTaskController.Instance = self
  10. self.model = NewerTaskModel:getInstance()
  11. self:AddEvents()
  12. self:RegisterAllProtocal()
  13. end
  14. function NewerTaskController:__delete()
  15. end
  16. function NewerTaskController:RegisterAllProtocal( )
  17. self:RegisterProtocal(11400, "Handle11400") --总的已领取
  18. self:RegisterProtocal(11401, "Handle11401") --请求领取
  19. end
  20. function NewerTaskController:AddEvents()
  21. local function on_game_start()
  22. self:SendFmtToGame(11400)
  23. end
  24. GlobalEventSystem:Bind(EventName.GAME_START, on_game_start)
  25. local function on_main_view(task_id, auto_do_task)
  26. self:OpenView("NewerTaskMainView", true, auto_do_task)
  27. end
  28. GlobalEventSystem:Bind(NewerTaskConst.OPEN_MAIN_VIEW, on_main_view)
  29. local function on_part_view( task_id )
  30. self:OpenView("NewerTaskPartView", true, task_id)
  31. end
  32. GlobalEventSystem:Bind(NewerTaskConst.OPEN_PART_VIEW, on_part_view)
  33. local function on_get_award( type, task_id )
  34. self:SendFmtToGame(11401, "ci", type, task_id)
  35. end
  36. GlobalEventSystem:Bind(NewerTaskConst.REQ_GET_AWARD, on_get_award)
  37. local function on_task_finish( task_id )
  38. if NewerTaskConst.PartTaskId[task_id] then
  39. self:OpenView("NewerTaskPartView", true, task_id)
  40. end
  41. end
  42. GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST, on_task_finish)
  43. end
  44. --[[
  45. ########### ##############
  46. protocol=11400
  47. {
  48. c2s{
  49. }
  50. s2c{
  51. list:array{
  52. type:int8
  53. task_id:int32
  54. }
  55. }
  56. }
  57. ]]
  58. function NewerTaskController:Handle11400( )
  59. local vo = SCMD11400.New(true)
  60. self.model:SetAwardFinishList(vo.list)
  61. GlobalEventSystem:Fire(NewerTaskConst.UPDATE_AWARD_INFO)
  62. self:CheckIsFinish()
  63. end
  64. --[[
  65. ########### ##############
  66. protocol=11401
  67. {
  68. c2s{
  69. type:int8
  70. task_id:int32
  71. }
  72. s2c{
  73. res:int16
  74. type:int8
  75. task_id:int32
  76. }
  77. }
  78. ]]
  79. function NewerTaskController:Handle11401( )
  80. local vo = SCMD11401.New(true)
  81. if vo.res == 1 then
  82. self.model:SetSingleAwardFinish(vo)
  83. GlobalEventSystem:Fire(NewerTaskConst.UPDATE_AWARD_INFO)
  84. self:CheckIsFinish()
  85. else
  86. ErrorCodeShow(vo.res)
  87. end
  88. end
  89. function NewerTaskController:CheckIsFinish( )
  90. local progress, is_all_finish, is_can_get = self.model:GetProgress()
  91. if progress == 100 and is_all_finish then
  92. if self.NewerTaskMainView and self.NewerTaskMainView:HasOpen() then
  93. self.NewerTaskMainView:Close()
  94. end
  95. -- 完成摩托考核需要刷新精英考核状态
  96. EliteAssessModel:getInstance():Fire(EliteAssessModel.REQUEST_INFO,45201)
  97. -- EliteAssessModel:getInstance():Fire(EliteAssessModel.PLAY_MAINUI_EFFECT)
  98. end
  99. end