源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

134 lines
5.2 KiB

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