源战役客户端
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

70 lignes
1.9 KiB

  1. require("game.proto.182.Require182")
  2. require("game.taskAnnounce.TaskAnnounceModel")
  3. require("game.taskAnnounce.TaskAnnounceView")
  4. require("game.taskAnnounce.TaskAnnounceItem")
  5. TaskAnnounceController = TaskAnnounceController or BaseClass(BaseController)
  6. local TaskAnnounceController = TaskAnnounceController
  7. function TaskAnnounceController:__init()
  8. TaskAnnounceController.Instance = self
  9. self.model = TaskAnnounceModel:getInstance()
  10. self:RegisterProtocals()
  11. self.last_refresh_time = 0
  12. self:InitEvent()
  13. end
  14. function TaskAnnounceController:RegisterProtocals()
  15. self:RegisterProtocal(18200, "handler18200")
  16. self:RegisterProtocal(18201, "handler18201")
  17. end
  18. function TaskAnnounceController:InitEvent()
  19. local function onRequestHandler(...)
  20. local args = {...}
  21. if args[1] == 18201 then
  22. self:SendFmtToGame(args[1], "h", args[2], args[3])
  23. else
  24. self:SendFmtToGame(args[1])
  25. end
  26. end
  27. self.model:Bind(TaskAnnounceModel.REQUEST_CCMD_EVENT, onRequestHandler)
  28. local function ANS_FINISHED_TASK_LIST( task_id )
  29. --登陆等任务列表返回,要去请求数据
  30. if not task_id then
  31. self.model:Fire(TaskAnnounceModel.REQUEST_CCMD_EVENT, 18200)
  32. end
  33. end
  34. GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST,ANS_FINISHED_TASK_LIST)
  35. local function onOpenAnnounceView(open_id)
  36. if self.announce_view == nil then
  37. self.announce_view = TaskAnnounceView.New()
  38. end
  39. self.announce_view:Open(open_id)
  40. end
  41. self.model:Bind(TaskAnnounceModel.OPEN_ANNOUNCE_VIEW, onOpenAnnounceView)
  42. end
  43. -- 奖励状态
  44. function TaskAnnounceController:handler18200()
  45. local scmd = SCMD18200.New(true)
  46. -- PrintTable(scmd)
  47. if scmd then
  48. self.model:SetRewardInfo(scmd.func_list)
  49. else
  50. self.model:SetRewardInfo()
  51. end
  52. end
  53. -- 领取奖励
  54. function TaskAnnounceController:handler18201()
  55. local scmd = SCMD18201.New(true)
  56. if scmd then
  57. if scmd.state == 2 then
  58. Message.show("领取成功")
  59. end
  60. self.model:SetRewardData(scmd)
  61. end
  62. end