require("game.proto.164.Require164") require("game.reincarnation.ReincarnationConst") require("game.reincarnation.ReincarnationModel") require("game.reincarnation.ReinSucceedView") -- 转职成功弹出界面 require("game.reincarnation.ReinSucceedSkillItem") -- 转职成功弹出界面技能item节点 require("game.reincarnation.ReinTaskView") -- 转职任务界面 require("game.reincarnation.ReinTaskDataItem") -- 转职任务界面提升信息节点 -- require("game.reincarnation.ReinTaskBtnItem") -- 转职任务界面任务按钮节点 require("game.reincarnation.ReinTaskScrollItem") -- 转职任务界面任务容器节点 require("game.reincarnation.ReinTaskTabItem") -- 转职任务界面任务页签节点 require("game.reincarnation.ReinTaskSkillItem") -- 转职任务界面技能item require("game.reincarnation.ReinUnlockItem") -- 转职解锁道具item require("game.reincarnation.ReinMainTaskView") -- 转职任务弹出界面 ReincarnationController = ReincarnationController or BaseClass(BaseController) function ReincarnationController:__init() ReincarnationController.Instance = self self.model = ReincarnationModel:getInstance() self.last_refresh_time = 0 self:RegisterProtocals() self:AddAllEvent() end function ReincarnationController:RegisterProtocals() self:RegisterProtocal(13040,"Handler13040") self:RegisterProtocal(13041,"Handler13041") end function ReincarnationController:AddAllEvent() -- -- 检查转职按钮打开情况 -- local function checkReinFunctionIcon() -- local mainVo = RoleManager.Instance.mainRoleInfo -- local bool = self.model:FindIsInTurn() -- 当前是否在进行转职任务 -- bool = bool or (mainVo.turn_stage and mainVo.turn_stage ~= 0) -- 当前是否在转职阶段 -- bool = bool and self.model:CheckReinOpenDayLimit(mainVo.trun, mainVo.trun_stage) -- if bool then -- local cur_turn = self.model:GetCurTurn() -- ActivityIconManager:getInstance():addIcon(16400 + cur_turn, -1, "进行中") -- else -- 没有转生任务的情况则调用一次全部删除的逻辑 -- ActivityIconManager:getInstance():deleteIcon(16401) -- ActivityIconManager:getInstance():deleteIcon(16402) -- ActivityIconManager:getInstance():deleteIcon(16403) -- ActivityIconManager:getInstance():deleteIcon(16404) -- ActivityIconManager:getInstance():deleteIcon(16405) -- ActivityIconManager:getInstance():deleteIcon(16406) -- end -- end -- -- 转职状态变化 -- RoleManager.Instance.mainRoleInfo:BindOne("turn_stage", checkReinFunctionIcon) -- -- 转职任务更新 -- GlobalEventSystem:Bind(EventName.SET_REINCARNATION_ICON, checkReinFunctionIcon) -- -- 跨天 -- GlobalEventSystem:Bind(EventName.CHANE_DAY, checkReinFunctionIcon) -- 初始化 local function onInitCurRein() self.model:InitCurRein() -- checkReinFunctionIcon() end GlobalEventSystem:Bind(EventName.GAME_START, onInitCurRein) local function openReinSucceedView(show, rein_lv) if (show and rein_lv) or not show then self:OpenView("ReinSucceedView", show, rein_lv) end end self.model:Bind(ReincarnationModel.OPEN_REIN_SUCCEED_VIEW, openReinSucceedView) local function openReinMainTaskView(show, rein_lv) -- print("Saber:ReincarnationController [72] : ",debug.traceback()) if (show and rein_lv) or not show then self:OpenView("ReinMainTaskView", show, rein_lv) end end self.model:Bind(ReincarnationModel.OPEN_REIN_MAIN_TASK_VIEW, openReinMainTaskView) -- 更新转职任务 local function updateReinTask() self.model:UpdateCurReinTask() self.model:Fire(ReincarnationModel.REFRESH_REIN_TASK) end TaskModel:getInstance():Bind(TaskEvent.TASK_LIST_INIT, updateReinTask) end ---------------------协议相关---------------------------- function ReincarnationController:Handler13040() local scmd = { career = self:ReadFmt("c"), sex = self:ReadFmt("c"), turn = self:ReadFmt("c"), stage = self:ReadFmt("c"), } local mainVo = RoleManager:getInstance().mainRoleInfo mainVo:ChangeVar("turn",scmd.turn) mainVo:ChangeVar("turn_stage",scmd.stage) -- 刷新model中的转生数据,并删除转生按钮 self.model:InitCurRein() -- ActivityIconManager:getInstance():deleteIcon(2) ActivityIconManager:getInstance():deleteIcon(16400 + scmd.turn) -- self:TipItemUse() -- self.model:Fire(ReincarnationModel.Update_Finish_Rein,scmd) -- 关闭转生任务界面 GlobalEventSystem:Fire(EventName.CLOSE_NEW_MAIN_ROLE_VIEW) -- 打开转职成功界面 self.model:Fire(ReincarnationModel.OPEN_REIN_SUCCEED_VIEW, true, scmd.turn) -- 更换头像为转职头像 local turn_cfg = self.model:GetReinCareerHeadData(scmd.career, scmd.turn) if turn_cfg then GlobalEventSystem:Fire(EventName.REQ_CHANGE_ROLEHEAD, turn_cfg.image_id) end end function ReincarnationController:TipItemUse( ) local data = GoodsModel:getInstance().bag_goods_list--所有背包物品的属性列表 local list = {} for i,v in ipairs(data) do if v.type == GoodsModel.TYPE.EQUIP then local is_can_wear = EquipModel:getInstance():IsCanWear(v) if is_can_wear then ItemUseModel:getInstance():AddUseTip(v) end end end -- ItemUseModel:getInstance():ShowItemUseView() end function ReincarnationController:Handler13041() local stage = self:ReadFmt("c") RoleManager:getInstance().mainRoleInfo:ChangeVar("turn_stage",stage) self.model:SetCurStage(stage) end