require("game.shape.ShapeModel") require("game.shape.view.ShapeBaseView") require("game.shape.view.ShapeView") require("game.shape.view.ShapeTabItem") require("game.shape.view.ShapeAttrItem") require("game.shape.view.ShapeSkinBtnItem") require("game.shape.view.ShapeSuccessView") ShapeController = ShapeController or BaseClass(BaseController, true) local ShapeController = ShapeController function ShapeController:__init() ShapeController.Instance = self self.model = ShapeModel:GetInstance() self:AddEvents() self:RegisterAllProtocal() end function ShapeController:__delete() end function ShapeController:RegisterAllProtocal( ) local register_cfg = { [14610] = {--进阶珍宝 req_event_data = {ShapeModel.REQ_BASE_INFO,"c"},req_func = false, handler = function(self,scmd) self.model:SetBaseData(scmd) self.model:Fire(ShapeModel.ANS_BASE_INFO) self:CheckRedDot() end, }, [14611] = {--激活升星 -- type_id,id,opty req_event_data = {ShapeModel.REQ_UP_OR_ACTIVE,"chc"},req_func = false, handler = function(self,scmd) if scmd.result == 1 then local is_succ = self.model:RefreshOneData(scmd.type,scmd.id,"star",scmd.star) -- if not is_succ then self.model:Fire(ShapeModel.REQ_BASE_INFO,scmd.type) -- end self.model:Fire(ShapeModel.ANS_UP_OR_ACTIVE,scmd.type,scmd.id,scmd.star) ------------------------- if scmd.opty == 1 then Message.show("升星成功~") else Message.show("激活成功~") self.model:Fire(ShapeModel.REQ_CHANGE_SKIN, scmd.type, scmd.id, scmd.star) end self.model:Fire(ShapeModel.OPEN_SUCCESS_VIEW,scmd.type,scmd.id,scmd.star) self:CheckRedDot() GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS) else ErrorCodeShow(scmd.result) end end, }, [14612] = {--珍宝幻化协议 --type_id,display req_event_data = {ShapeModel.REQ_CHANGE_SKIN,"chh"},req_func = false, handler = function(self,scmd) if scmd.result == 1 then if scmd.display == 0 then Message.show("取消幻化成功~") else Message.show("幻化成功~") end local is_succ = self.model:RefreshSkinUsing(scmd.type,scmd.skin,scmd.star) if not is_succ then self.model:Fire(ShapeModel.REQ_BASE_INFO,scmd.type) end self.model:Fire(ShapeModel.ANS_CHANGE_SKIN) GlobalEventSystem:Fire(EventName.PLAY_UI_EFFECT_SOUND,LuaSoundManager.SOUND_UI.SUCCESS) else ErrorCodeShow(scmd.result) end end, }, } self:RegisterProtocalByCFG(register_cfg) local function OPEN_BASE_VIEW( open_type, sub_id ) local open_lv, open_data = GetModuleOpenLevel(146,open_type,true) if not GetModuleIsOpen(146,open_type,true) then local str = "该功能未开启" if open_lv and RoleManager.Instance.mainRoleInfo.level < open_lv then str = "该功能"..open_lv.."级开启" end Message.show(str) return end ------------------------- if not self.shapebaseview then self.shapebaseview = ShapeBaseView.New() self.shapebaseview:Open(open_type,sub_id) else self.shapebaseview:ReOpen(open_type,sub_id) end end self.model:Bind(ShapeModel.OPEN_BASE_VIEW,OPEN_BASE_VIEW) local function OPEN_SUCCESS_VIEW( type_id,id,star ) print('----LZR ShapeController.lua 92-- type_id,id,star=',type_id,id,star) if not self.shapesuccessview then self.shapesuccessview = ShapeSuccessView.New() self.shapesuccessview:Open(type_id,id,star) end end self.model:Bind(ShapeModel.OPEN_SUCCESS_VIEW,OPEN_SUCCESS_VIEW) end function ShapeController:AddEvents() local function on_game_start() self.model:Reset() local function delay( ) if GetModuleIsOpen(146,9) then for k,v in pairs(self.model:GetUnlockType()) do self.model:Fire(ShapeModel.REQ_BASE_INFO, k) end end end setTimeout(delay,1) end GlobalEventSystem:Bind(EventName.GAME_START, on_game_start) local function onLevelChange( level ) if GetModuleOpenLevel( 146,9,true ) == level then for k,v in pairs(self.model:GetUnlockType()) do self.model:Fire(ShapeModel.REQ_BASE_INFO, k) end end end RoleManager:getInstance().mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelChange) end function ShapeController:CheckRedDot( ) local function call_backack( ) local bool_1 = self.model:CheckRedDot(true) GlobalEventSystem:Fire(EventName.SHOW_FUNCTION_RED_POINT, 14609, bool_1) self.model:Fire(ShapeModel.RedDotRefresh) end TimeManager.GetInstance():StartTime("ShapeController_CheckRedDot", 0.5, call_backack) end