require("game.proto.414.Require414") require("game.empower.EmpowerModel") require("game.empower.EmpowerConst") require("game.empower.EmpowerBaseView") require("game.empower.EmpowerShopView") require("game.empower.EmpowerShopItem") require("game.empower.EmpowerExchangeView") require("game.empower.EmpowerTreasureView") require("game.empower.EmpowerTipsView") require("game.empower.EmpowerGridWalkView") require("game.empower.EmpowerResetTipView") require("game.empower.EmpowerDoubleItem") EmpowerController = EmpowerController or BaseClass(BaseController, true) local EmpowerController = EmpowerController function EmpowerController:__init() EmpowerController.Instance = self self.model = EmpowerModel:GetInstance() self.mainVo = RoleManager.Instance.mainRoleInfo self:AddEvents() self:RegisterProtocals() end function EmpowerController:__delete() end function EmpowerController:RegisterProtocals( ) self:RegisterProtocal(41400, "on41400") self:RegisterProtocal(41401, "on41401") self:RegisterProtocal(41402, "on41402") self:RegisterProtocal(41403, "on41403") self:RegisterProtocal(41404, "on41404") self:RegisterProtocal(41405, "on41405") self:RegisterProtocal(41406, "on41406") self:RegisterProtocal(41407, "on41407") self:RegisterProtocal(41408, "on41408") self:RegisterProtocal(41409, "on41409") self:RegisterProtocal(41410, "on41410") self:RegisterProtocal(41411, "on41411") end function EmpowerController:AddEvents() -- local function on_game_start() -- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400) -- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41401) -- -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41402,1) -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400) -- self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405) -- end -- EventSystem.Bind(GlobalEventSystem,EventName.GAME_START, on_game_start) local function init_open_day( )--开服天数初始化 if self.mainVo.level >= Config.Moduleid[414].open_lv then self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400) self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405) self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409) ActivityIconManager:getInstance():addIcon(414, -1) end end GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day) --升级 local function onLevelUp(level) if level == Config.Moduleid[414].open_lv then self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400) self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405) self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409) ActivityIconManager:getInstance():addIcon(414, -1) end end RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp) local func_update_red_dot = function(id) -- Message.show("EMPOWER_TREASURE_RED_DOT",tab_id) --if not tab_id then self.model:IsNeedRed(id) --else -- self.model:IsNeedRed(tab_id) --end end self.model:Bind(EmpowerConst.EMPOWER_RED_DOT,func_update_red_dot) -- 打开open_ranTest_baseView local function open_ranTest_baseView(show,index) print("============>>> YiRan:EmpowerController [start:79] show:",show,"index:",index) if show then if self.ranTest_base_view == nil then self.ranTest_base_view = EmpowerBaseView.New() end if not self.ranTest_base_view:HasOpen() then self.ranTest_base_view:Open(index or 1) else self.ranTest_base_view:SwitchTab(index or 1) end else if self.ranTest_base_view then self.ranTest_base_view:Close() end end end self.model:Bind(EmpowerConst.OPEN_SHOP_BASE_VIEW,open_ranTest_baseView) -- 打开升品寻宝界面 local function open_emTreasure_baseView(show) if show then if self.emTreasureView == nil then self.emTreasureView = EmpowerGridWalkView.New() --EmpowerTreasureView 这个弹珠台感觉要消失= =、先顶掉 if not self.emTreasureView:HasOpen() then self.emTreasureView:Open() end end else if self.emTreasureView then self.emTreasureView:Close() end end end self.model:Bind(EmpowerConst.OPEN_EMPOWER_TREASURE_VIEW,open_emTreasure_baseView) ---打开走格子界面 --local function open_GridWalkView(show) -- if show then -- if self.emWalkView == nil then -- self.emWalkView = EmpowerGridWalkView.New() -- if not self.emWalkView:HasOpen() then -- self.emWalkView:Open() -- end -- end --- else -- if self.emWalkView then -- self.emWalkView:Close() -- end -- end --end --self.model:Bind(EmpowerConst.OPEN_EMPOWER_GRIDWALK_VIEW,open_GridWalkView) -- 打开Tips界面 local function open_emTips_baseView(show,txt,callback) if show then if self.emTipsView == nil then self.emTipsView = EmpowerTipsView.New() if not self.emTipsView:HasOpen() then self.emTipsView:Open(txt,callback) end end else if self.emTipsView then self.emTipsView:Close() end end end self.model:Bind(EmpowerConst.OPEN_EMPOWER_TIPS_VIEW,open_emTips_baseView) --- local function func_OPEN_RESET_TIPVIEW_VIEW(vo) if self.EmpowerResetTipView == nil then self.EmpowerResetTipView = EmpowerResetTipView.New() end self.EmpowerResetTipView:Open(vo) end self.model:Bind(EmpowerConst.OPEN_RESET_TIPVIEW_VIEW,func_OPEN_RESET_TIPVIEW_VIEW) --请求协议 local function ON_REQUEST_EVENT(...) local args = {...} if args[1] == 41401 then self:SendFmtToGame(args[1],"cci", args[2], args[3],args[4]) elseif args[1] == 41402 then self:SendFmtToGame(args[1], "chs", args[2], args[3], args[4]) elseif args[1] == 41403 or args[1] == 41406 then self:SendFmtToGame(args[1],"h",args[2]) elseif args[1] == 41408 then self:SendFmtToGame(args[1],"ih",args[2], args[3]) elseif args[1] == 41410 then self:SendFmtToGame(args[1],"c",args[2]) else self:SendFmtToGame(args[1]) end end self.model:Bind(EmpowerConst.EMPOWER_REQ_EVENT, ON_REQUEST_EVENT) end ----请求基本信息 function EmpowerController:on41400( ) local vo = SCMD41400.New(true) --print("=============>>> YiRan:EmpowerController [start:153] vo SCMD41400------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if not vo then return end self.model:SetVo41400(vo) self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_VIEW_INFO, vo) self.model:Fire(EmpowerConst.EMPOWER_RED_DOT,EmpowerConst.EmpowerViewType.EmpowerTreasure) self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_QUALITYS_INFO) -- 在收到协议再刷新质量 -- if vo then -- ErrorCodeShow(vo.errcode) -- end end function EmpowerController:on41401( ) local vo = SCMD41401.New(true) if not vo then return end --print("=============>>> YiRan:EmpowerController [start:118] vo41401 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.errcode == 1 then Message.show("发射成功","success") else ErrorCodeShow(vo.errcode) end end function EmpowerController:on41402( ) local vo = SCMD41402.New(true) --Message.show("vo.result:",vo.result) --print("=============>>> YiRan:EmpowerController [start:118] vo41402 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.errcode == 1 then --Message.show("发送41400") self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400) else ErrorCodeShow(vo.errcode) end end --[[ ################ 领取充能节点奖励 ################# protocol=41403 { c2s{} s2c{ errcode:int32 // 返回结果 goods_list:array{ goods_type :int8 goods_id :int32 num :int16 } } } ]] function EmpowerController:on41403( ) local vo = SCMD41403.New(true) if vo.errcode == 1 then local list = {}--vo.goods_list for k,v in pairs( vo.goods_list) do local list_s = {} list_s[1] = v.goods_type list_s[2] = v.goods_id list_s[3] = v.num table.insert(list,list_s) end data.award = list data.not_show_anim = true print("=============>>> YiRan:EmpowerController [start:256] data ------------------------------------------") PrintTable(data) print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") GlobalEventSystem:Fire(EventName.OPEN_COM_AWARD_RESULT_VIEW,data) else ErrorCodeShow(vo.errcode) end -- print("=============>>> YiRan:EmpowerController [start:172] vo41403 ------------------------------------------") -- PrintTable(vo) -- print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") end function EmpowerController:on41404( ) local vo = SCMD41404.New(true) if vo.errcode == 1 then self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41400) elseif vo.errcode == 4140006 then local function ok() OpenFun.Open(450,1) end Alert.show("重置次数不足,是否前往提升VIP等级?",Alert.Type.Two,ok) else ErrorCodeShow(vo.errcode) end --print("=============>>> YiRan:EmpowerController [start:172] vo41404 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") end --[[ ################ 附能商店 ################# protocol=41405 { c2s{} s2c{ reset_count:int16 // 商店刷新次数 shop_list:array{ index:int16 // 商店条目 state:int8 // 0未领|1已领 } time:int32 // 结束时间 } } ]] function EmpowerController:on41405( ) local vo = SCMD41405.New(true) if vo and vo.shop_list then self.model:SetEquipShopList(vo) self.model:Fire(EmpowerConst.UPDATA_EMTREASURE_SHOP_INFO) -- 刷新商店状态 self.model:Fire(EmpowerConst.EMPOWER_RED_DOT,EmpowerConst.EmpowerViewType.EmpowerShop) end --print("=============>>> YiRan:EmpowerController [start:224] vo41405 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") end function EmpowerController:on41406( ) local vo = SCMD41406.New(true) --print("=============>>> YiRan:EmpowerController [start:224] on41406 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.errcode == 1 then Message.show("购买成功","success") self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405) else ErrorCodeShow(vo.errcode) end end function EmpowerController:on41407( ) local vo = SCMD41407.New(true) --print("=============>>> YiRan:EmpowerController [start:224] on41407 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.errcode == 1 then Message.show("刷新成功") self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41405) else ErrorCodeShow(vo.errcode) end end function EmpowerController:on41408( ) local vo = SCMD41408.New(true) --print('Msh:EmpowerController.lua[351] vo', vo.errcode) if vo.errcode == 1 then Message.show("兑换成功","success") self.model:Fire(EmpowerConst.UPDATE_EXCHANGE_VIEW) else ErrorCodeShow(vo.errcode) end end --[[ ############# 格子界面 ############## protocol=41409 { c2s{} s2c{ turn :int8 // 轮次 step :int16 // 当前步数 reset_count:int8 // 重置次数 free_count :int8 // 剩余免费次数 show_reward:array{ // 奖励展示 step_id:int16 is_double:int8 // 1单倍 2双倍 step_reward:array{ good_id:int32 good_num:int32 } } } } ]] function EmpowerController:on41409( ) local vo = SCMD41409.New(true) --print("=============>>> YiRan:EmpowerController [start:224] on41409 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.errcode == 1 then self.model:SetGridGameInfo(vo) self.model:Fire(EmpowerConst.UPDATA_EMGRIDWALK_INFO) self.model:SetIsDoubleTime(vo.times) self.model:UpdateMainIconState() else ErrorCodeShow(vo.errcode) end end --[[ ############## 走格子 ############### protocol=41410 { c2s{ type:int8 // 是否使用代金券 0不使用|1使用 } s2c{ res:int32 // 1成功 0失败 walk:int8 // 随机的步数 new_step:int16 // 走之后的步数 } }]] function EmpowerController:on41410( ) local vo = SCMD41410.New(true) --print("=============>>> YiRan:EmpowerController [start:224] on41410 ------------------------------------------") --PrintTable(vo) --print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.res == 1 then self.model:Fire(EmpowerConst.EMPOWER_REQ_EVENT, 41409) self.model:Fire(EmpowerConst.UPDATA_EMGRIDWALK_INFO41410,vo) --self.model.41410_INFO = vo else ErrorCodeShow(vo.res) end end --[[ ############### 重置 ############### protocol=41411 { c2s{} s2c{ res:int32 //1成功 0失败 另外会推40500和40501 } }]] function EmpowerController:on41411( ) local vo = SCMD41411.New(true) print("=============>>> YiRan:EmpowerController [start:224] on41411 ------------------------------------------") PrintTable(vo) print("=============>>> YiRan:EmpowerController [end] ------------------------------------------") if vo.res == 1 then self.model:Fire(EmpowerConst.RESET_EMGRIDWALK_SUCCESS) else ErrorCodeShow(vo.res) end end