|
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
|
|
|