源战役客户端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

134 rader
5.2 KiB

1 månad sedan
  1. require("game.proto.164.Require164")
  2. require("game.reincarnation.ReincarnationConst")
  3. require("game.reincarnation.ReincarnationModel")
  4. require("game.reincarnation.ReinSucceedView") -- 转职成功弹出界面
  5. require("game.reincarnation.ReinSucceedSkillItem") -- 转职成功弹出界面技能item节点
  6. require("game.reincarnation.ReinTaskView") -- 转职任务界面
  7. require("game.reincarnation.ReinTaskDataItem") -- 转职任务界面提升信息节点
  8. -- require("game.reincarnation.ReinTaskBtnItem") -- 转职任务界面任务按钮节点
  9. require("game.reincarnation.ReinTaskScrollItem") -- 转职任务界面任务容器节点
  10. require("game.reincarnation.ReinTaskTabItem") -- 转职任务界面任务页签节点
  11. require("game.reincarnation.ReinTaskSkillItem") -- 转职任务界面技能item
  12. require("game.reincarnation.ReinUnlockItem") -- 转职解锁道具item
  13. require("game.reincarnation.ReinMainTaskView") -- 转职任务弹出界面
  14. ReincarnationController = ReincarnationController or BaseClass(BaseController)
  15. function ReincarnationController:__init()
  16. ReincarnationController.Instance = self
  17. self.model = ReincarnationModel:getInstance()
  18. self.last_refresh_time = 0
  19. self:RegisterProtocals()
  20. self:AddAllEvent()
  21. end
  22. function ReincarnationController:RegisterProtocals()
  23. self:RegisterProtocal(13040,"Handler13040")
  24. self:RegisterProtocal(13041,"Handler13041")
  25. end
  26. function ReincarnationController:AddAllEvent()
  27. -- -- 检查转职按钮打开情况
  28. -- local function checkReinFunctionIcon()
  29. -- local mainVo = RoleManager.Instance.mainRoleInfo
  30. -- local bool = self.model:FindIsInTurn() -- 当前是否在进行转职任务
  31. -- bool = bool or (mainVo.turn_stage and mainVo.turn_stage ~= 0) -- 当前是否在转职阶段
  32. -- bool = bool and self.model:CheckReinOpenDayLimit(mainVo.trun, mainVo.trun_stage)
  33. -- if bool then
  34. -- local cur_turn = self.model:GetCurTurn()
  35. -- ActivityIconManager:getInstance():addIcon(16400 + cur_turn, -1, "进行中")
  36. -- else -- 没有转生任务的情况则调用一次全部删除的逻辑
  37. -- ActivityIconManager:getInstance():deleteIcon(16401)
  38. -- ActivityIconManager:getInstance():deleteIcon(16402)
  39. -- ActivityIconManager:getInstance():deleteIcon(16403)
  40. -- ActivityIconManager:getInstance():deleteIcon(16404)
  41. -- ActivityIconManager:getInstance():deleteIcon(16405)
  42. -- ActivityIconManager:getInstance():deleteIcon(16406)
  43. -- end
  44. -- end
  45. -- -- 转职状态变化
  46. -- RoleManager.Instance.mainRoleInfo:BindOne("turn_stage", checkReinFunctionIcon)
  47. -- -- 转职任务更新
  48. -- GlobalEventSystem:Bind(EventName.SET_REINCARNATION_ICON, checkReinFunctionIcon)
  49. -- -- 跨天
  50. -- GlobalEventSystem:Bind(EventName.CHANE_DAY, checkReinFunctionIcon)
  51. -- 初始化
  52. local function onInitCurRein()
  53. self.model:InitCurRein()
  54. -- checkReinFunctionIcon()
  55. end
  56. GlobalEventSystem:Bind(EventName.GAME_START, onInitCurRein)
  57. local function openReinSucceedView(show, rein_lv)
  58. if (show and rein_lv) or not show then
  59. self:OpenView("ReinSucceedView", show, rein_lv)
  60. end
  61. end
  62. self.model:Bind(ReincarnationModel.OPEN_REIN_SUCCEED_VIEW, openReinSucceedView)
  63. local function openReinMainTaskView(show, rein_lv)
  64. -- print("Saber:ReincarnationController [72] : ",debug.traceback())
  65. if (show and rein_lv) or not show then
  66. self:OpenView("ReinMainTaskView", show, rein_lv)
  67. end
  68. end
  69. self.model:Bind(ReincarnationModel.OPEN_REIN_MAIN_TASK_VIEW, openReinMainTaskView)
  70. -- 更新转职任务
  71. local function updateReinTask()
  72. self.model:UpdateCurReinTask()
  73. self.model:Fire(ReincarnationModel.REFRESH_REIN_TASK)
  74. end
  75. TaskModel:getInstance():Bind(TaskEvent.TASK_LIST_INIT, updateReinTask)
  76. end
  77. ---------------------协议相关----------------------------
  78. function ReincarnationController:Handler13040()
  79. local scmd = {
  80. career = self:ReadFmt("c"),
  81. sex = self:ReadFmt("c"),
  82. turn = self:ReadFmt("c"),
  83. stage = self:ReadFmt("c"),
  84. }
  85. local mainVo = RoleManager:getInstance().mainRoleInfo
  86. mainVo:ChangeVar("turn",scmd.turn)
  87. mainVo:ChangeVar("turn_stage",scmd.stage)
  88. -- 刷新model中的转生数据,并删除转生按钮
  89. self.model:InitCurRein()
  90. -- ActivityIconManager:getInstance():deleteIcon(2)
  91. ActivityIconManager:getInstance():deleteIcon(16400 + scmd.turn)
  92. -- self:TipItemUse()
  93. -- self.model:Fire(ReincarnationModel.Update_Finish_Rein,scmd)
  94. -- 关闭转生任务界面
  95. GlobalEventSystem:Fire(EventName.CLOSE_NEW_MAIN_ROLE_VIEW)
  96. -- 打开转职成功界面
  97. self.model:Fire(ReincarnationModel.OPEN_REIN_SUCCEED_VIEW, true, scmd.turn)
  98. -- 更换头像为转职头像
  99. local turn_cfg = self.model:GetReinCareerHeadData(scmd.career, scmd.turn)
  100. if turn_cfg then
  101. GlobalEventSystem:Fire(EventName.REQ_CHANGE_ROLEHEAD, turn_cfg.image_id)
  102. end
  103. end
  104. function ReincarnationController:TipItemUse( )
  105. local data = GoodsModel:getInstance().bag_goods_list--所有背包物品的属性列表
  106. local list = {}
  107. for i,v in ipairs(data) do
  108. if v.type == GoodsModel.TYPE.EQUIP then
  109. local is_can_wear = EquipModel:getInstance():IsCanWear(v)
  110. if is_can_wear then
  111. ItemUseModel:getInstance():AddUseTip(v)
  112. end
  113. end
  114. end
  115. -- ItemUseModel:getInstance():ShowItemUseView()
  116. end
  117. function ReincarnationController:Handler13041()
  118. local stage = self:ReadFmt("c")
  119. RoleManager:getInstance().mainRoleInfo:ChangeVar("turn_stage",stage)
  120. self.model:SetCurStage(stage)
  121. end