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