require("game.KfBossTreasure.KfBossTreasureConst") require("game.KfBossTreasure.KfBossTreasureModel") require("game.KfBossTreasure.view.KfBossTreasureView") require("game.KfBossTreasure.view.KfBossTreasureLvItem") require("game.KfBossTreasure.view.KfBossTreasureTaskView") require("game.KfBossTreasure.view.KfBossTreasureTaskItem") require("game.KfBossTreasure.view.KfBossTreasureBuyUnlockView") require("game.KfBossTreasure.view.KfBossTreasurePreLookView") require("game.KfBossTreasure.view.KFBossTreasureRewardView") KfBossTreasureController = KfBossTreasureController or BaseClass(BaseController, true) local KfBossTreasureController = KfBossTreasureController function KfBossTreasureController:__init() KfBossTreasureController.Instance = self self.model = KfBossTreasureModel:getInstance() self:AddEvents() self:RegisterAllProtocal() end function KfBossTreasureController:__delete() end function KfBossTreasureController:RegisterAllProtocal( ) local register_cfg = { [33238] = {--基础信息 req_event_data = {KfBossTreasureConst.REQ_BASIC_DATA,"h"},req_func = false, handler = function(self,scmd)-- handler_manual if scmd.errcode == 1 then self.model:SetBasicData(scmd) self:CheckRedDot() self.model:Fire(KfBossTreasureConst.ANS_BASIC_DATA) else ErrorCodeShow(scmd.errcode) end end, }, [33239] = {--领取等级奖励 -- // 1等级奖励领取|2等级奖励一键领取 -- // 等级|一键时为0 req_event_data = {KfBossTreasureConst.REQ_GET_REWARD,"hcc"},req_func = false, handler = function(self,scmd)-- handler_manual if scmd.result == 1 then GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS) self.model:Fire(KfBossTreasureConst.SHOW_REWARD_RESULT,scmd) self.model:Fire(KfBossTreasureConst.REQ_BASIC_DATA,scmd.sub_type) else ErrorCodeShow(scmd.result) end end, }, [33240] = {--购买王牌宝典 req_event_data = {KfBossTreasureConst.REQ_PAY_FOR_UNLOCK, "h"},req_func = false, handler = function(self,scmd)-- handler_manual if scmd.result == 1 then Message.show("购买成功!") GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS) self.model:RefreshBasicPayStatus(scmd.sub_type,scmd.pay_state) self:CheckRedDot() self.model:Fire(KfBossTreasureConst.ANS_PAY_FOR_UNLOCK) self.model:Fire(KfBossTreasureConst.ANS_BASIC_DATA) self.model:Fire(KfBossTreasureConst.SHOW_REWARD_LIST,scmd.sub_type,"after_buy") else ErrorCodeShow(scmd.result) end end, }, [33241] = {--奖励信息 req_event_data = {KfBossTreasureConst.REQ_REWARD_INFO,"h"},req_func = false, handler = function(self,scmd)-- handler_manual if scmd.result == 1 then self.model:SetRewardInfo(scmd.sub_type, scmd.reward_list) self.model:Fire(KfBossTreasureConst.ANS_REWARD_INFO) else ErrorCodeShow(scmd.result) end end, }, [33242] = {--任务完成进度 req_event_data = {KfBossTreasureConst.REQ_TASK_PROCESS,"h"},req_func = false, handler = function(self,scmd)-- handler_manual if scmd.result == 1 then self.model:SetTaskProcessInfo(scmd) self.model:Fire(KfBossTreasureConst.ANS_TASK_PROCESS) else ErrorCodeShow(scmd.result) end end, }, } self:RegisterProtocalByCFG(register_cfg) end function KfBossTreasureController:AddEvents() local function on_game_start() self.model:Reset() end GlobalEventSystem:Bind(EventName.GAME_START, on_game_start) local function OPEN_TASK_VIEW( sub_type ) self.kfbosstreasuretaskview = self.kfbosstreasuretaskview or KfBossTreasureTaskView.New() self.kfbosstreasuretaskview:Open(sub_type) end self.model:Bind(KfBossTreasureConst.OPEN_TASK_VIEW,OPEN_TASK_VIEW) local function SHOW_REWARD_LIST( sub_type,tag ) self.kfbosstreasureprelookview = self.kfbosstreasureprelookview or KfBossTreasurePreLookView.New() self.kfbosstreasureprelookview:Open(sub_type,tag) end self.model:Bind(KfBossTreasureConst.SHOW_REWARD_LIST,SHOW_REWARD_LIST) local function OPEN_UNLOCK_VIEW( sub_type ) self.kfbosstreasurebuyunlockview = self.kfbosstreasurebuyunlockview or KfBossTreasureBuyUnlockView.New() self.kfbosstreasurebuyunlockview:Open(sub_type) end self.model:Bind(KfBossTreasureConst.OPEN_UNLOCK_VIEW,OPEN_UNLOCK_VIEW) local function SHOW_REWARD_RESULT( data ) self.kfbosstreasurerewardview = self.kfbosstreasurerewardview or KFBossTreasureRewardView.New() self.kfbosstreasurerewardview:Open(data) end self.model:Bind(KfBossTreasureConst.SHOW_REWARD_RESULT,SHOW_REWARD_RESULT) end function KfBossTreasureController:CheckRedDot( ) local function call_backack( ) self.model:GetAllRed(true) self.model:Fire(KfBossTreasureConst.REFRESH_RED_DOT) end TimeManager.GetInstance():StartTime("ContractController_CheckRedDot", 0.5, call_backack) end