|
|
- require("game.proto.424.Require424")
- require("game.treasureMap.TreasureMapConst")
- require("game.treasureMap.TreasureMapModel")
-
-
- require("game.treasureMap.TreasureMapDescView") -- 藏宝图介绍界面
- require("game.treasureMap.TreasureMapDescScrollItem") -- 藏宝图介绍界面节点
- require("game.treasureMap.TreasureMapQuizView") -- 藏宝图答题界面
- require("game.treasureMap.TreasureMapShopView") -- 藏宝图限时商城界面
- require("game.treasureMap.TreasureMapShopItem") -- 藏宝图限时商城界面item
- require("game.treasureMap.TreasureMapStorageShopView") -- 藏宝图限时商城界面(收纳)
- require("game.treasureMap.TreasureMapStorageShopItem") -- 藏宝图限时商城界面item(收纳)
- require("game.treasureMap.TreasureMapNormalRollView") -- 普通藏宝图结算界面
- require("game.treasureMap.TreasureMapAdvanceRollView") -- 高级藏宝图抽奖界面
-
- require("game.treasureMap.TreasureMapRewardPreviewView") -- 藏宝图奖池预览界面
- require("game.treasureMap.TreasureMapFeedbackView") -- 藏宝图遗宝馈赠界面
- require("game.treasureMap.TreasureMapFeedbackItem") -- 藏宝图遗宝馈赠界面
-
-
- TreasureMapController = TreasureMapController or BaseClass(BaseController, true)
- local TreasureMapController = TreasureMapController
-
- function TreasureMapController:__init()
- TreasureMapController.Instance = self
- self.model = TreasureMapModel:getInstance()
- self:AddEvents()
- self:RegisterAllProtocal()
-
- end
-
- function TreasureMapController:__delete()
-
- end
-
- function TreasureMapController:RegisterAllProtocal( )
- local register_cfg = {
- [42401] = { -- 使用藏宝图
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model:SetCurrentTreasureData(vo, vo.need_find_way == 1)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42402] = { -- 获取藏宝[这个只会处理开箱和转盘两种藏宝类型,其他的走其他协议]
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model._tm_can_fly_goods = false -- 收到协议之后禁止道具飞入表现
- if vo.event == TreasureMapConst.EventType.Normal then -- 普通宝箱
- self.model:Fire(TreasureMapConst.OPEN_NORMAL_EVENT_RESULT_VIEW, true, vo)
- elseif vo.event == TreasureMapConst.EventType.Roll then -- 转盘
- self.model:Fire(TreasureMapConst.OPEN_ROLL_EVENT_RESULT_VIEW, true, vo)
- end
- -- 清除藏宝图数据
- self.model:SetCurrentTreasureData(nil)
- else
- self.model._tm_can_fly_goods = true
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42403] = { -- 普通藏宝图使用次数
- handler = function(self, vo)
- self.model:SetNormalTreasureMapTimes(vo.daily_count)
- end,
- },
- [42405] = { -- 高级藏宝图月度次数信息
- handler = function(self, vo)
- self.model:SetAdvTreasureMapMonthTimesData(vo)
- self.model:CheckTreasureMapRed(TreasureMapConst.RedType.MonthReward)
- self.model:Fire(TreasureMapConst.UPDATE_MONTH_TIMES_DATA)
- end,
- },
- [42406] = { -- 领取高级藏宝图月度次数奖励
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model:UpdateAdvTreasureMapMonthTimesData(vo)
- self.model:CheckTreasureMapRed(TreasureMapConst.RedType.MonthReward)
- self.model:Fire(TreasureMapConst.UPDATE_MONTH_TIMES_DATA)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42407] = { -- 获取题目
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model:Fire(TreasureMapConst.OPEN_TREASUREMAP_QUIZ_VIEW, true, vo)
- -- 清空藏宝图数据
- self.model:SetCurrentTreasureData(nil)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42408] = { -- 提交答案
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model:Fire(TreasureMapConst.UPDATE_QUIZ_VIEW)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42409] = { -- 获取限时商城信息
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model:SetTreasureMapShopData(vo)
- self.model:CheckTreasureMapRed(TreasureMapConst.RedType.Shop)
- self.model:Fire(TreasureMapConst.OPEN_TREASUREMAP_SHOP_VIEW, true, vo)
- -- 清空藏宝图数据
- self.model:SetCurrentTreasureData(nil)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42410] = { -- 购买限时商店道具
- handler = function(self, vo)
- if vo.errcode == 1 then
- Message.show("购买成功", "success")
- self.model:SetTreasureMapShopRestNumData(vo)
- self.model:Fire(TreasureMapConst.UPDATE_TREASUREMAP_SHOP_VIEW, true)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42411] = { -- 挖宝后触发怪物事件
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model._check_tm_tips = TreasureMapConst.Normal
- self.model:CheckTreasureTipUseViewOpen()
- -- 清空藏宝图数据
- self.model:SetCurrentTreasureData(nil)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42412] = { -- 购买限时商店的免费物品
- handler = function(self, vo)
- if vo.errcode == 1 then
- Message.show("购买成功", "success")
- self.model:Fire(TreasureMapConst.UPDATE_SHOP_FREE_RECEIVE_STATUS, true)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42413] = { -- 批量使用普通藏宝图
- handler = function(self, vo)
- if vo.errcode == 1 then
- Message.show("批量使用成功", "success")
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- [42414] = { -- 收纳后限时未过期道具信息
- handler = function(self, vo)
- self.model:SetTreasureMapStorageShopData(vo)
- self.model:CheckStorageShopIcon(false)
- end,
- },
- [42415] = { -- 收纳限时道具购买
- handler = function(self, vo)
- if vo.errcode == 1 then
- self.model:UpdateTreasureMapStorageShopData(vo)
- self.model:CheckStorageShopIcon(true)
- self.model:Fire(TreasureMapConst.UPDATE_STORAGE_SHOP_DATA, vo)
- else
- ErrorCodeShow(vo.errcode)
- end
- end,
- },
- }
- self:RegisterProtocalByCFG(register_cfg)
- end
-
- function TreasureMapController:AddEvents()
- local function onGameStart()
- self.model:Reset()
- local function delay_method( )
- if GetModuleIsOpen(424) then
- self.model:Fire(TreasureMapConst.REQUEST_CCMD_EVENT, 42401, 0) -- 查询进行中的藏宝图
- self.model:Fire(TreasureMapConst.REQUEST_CCMD_EVENT, 42403) -- 查询普通藏宝图每日次数信息
- self.model:Fire(TreasureMapConst.REQUEST_CCMD_EVENT, 42405) -- 查询高级藏宝图月度次数信息
- self.model:Fire(TreasureMapConst.REQUEST_CCMD_EVENT, 42414) -- 查询藏宝图限时商城信息
- end
- end
- setTimeout(delay_method, 1)
- end
- GlobalEventSystem:Bind(EventName.GAME_START, onGameStart)
-
- --请求基本信息
- local function onRequestEvent(...)
- local args = {...}
- if args[1] == 42401 then
- self:SendFmtToGame(args[1], "c", args[2])
- elseif args[1] == 42402 then
- self.model._tm_can_fly_goods = false -- 发送协议前,先禁止道具飞入表现
- self:SendFmtToGame(args[1], "cc", args[2], args[3])
- elseif args[1] == 42406 then
- self:SendFmtToGame(args[1], "h", args[2])
- elseif args[1] == 42408 then
- self:SendFmtToGame(args[1], "hc", args[2], args[3])
- elseif args[1] == 42410 then
- self:SendFmtToGame(args[1], "hch", args[2], args[3], args[4])
- elseif args[1] == 42413 then
- self:SendFmtToGame(args[1], "h", args[2])
- elseif args[1] == 42415 then
- self:SendFmtToGame(args[1], "ihch", args[2], args[3], args[4], args[5])
- else
- self:SendFmtToGame(args[1])
- end
- end
- self.model:Bind(TreasureMapConst.REQUEST_CCMD_EVENT, onRequestEvent)
-
- local function openDescView(show)
- self:OpenView("TreasureMapDescView", show)
- end
- self.model:Bind(TreasureMapConst.OPEN_DESC_VIEW, openDescView)
-
- local function openTMQuizView(show, vo)
- if (show and vo) or not show then
- self:OpenView("TreasureMapQuizView", show, vo)
- if show then
- GlobalEventSystem:Fire(EventName.OPEN_TREASUREMAP_USE_TIP_VIEW, false)
- end
- end
- end
- self.model:Bind(TreasureMapConst.OPEN_TREASUREMAP_QUIZ_VIEW, openTMQuizView)
-
- local function openTMShopView(show, vo)
- if (show and vo) or not show then
- self:OpenView("TreasureMapShopView", show, vo)
- if show then
- GlobalEventSystem:Fire(EventName.OPEN_TREASUREMAP_USE_TIP_VIEW, false)
- end
- end
- end
- self.model:Bind(TreasureMapConst.OPEN_TREASUREMAP_SHOP_VIEW, openTMShopView)
-
- local function openTMStorageShopView(show)
- self:OpenView("TreasureMapStorageShopView", show)
- end
- self.model:Bind(TreasureMapConst.OPEN_TREASUREMAP_STORAGE_SHOP_VIEW, openTMStorageShopView)
-
- local function openNormalResultView(show, vo)
- if (show and vo) or not show then
- self:OpenView("TreasureMapNormalRollView", show, vo)
- if show then
- GlobalEventSystem:Fire(EventName.OPEN_TREASUREMAP_USE_TIP_VIEW, false)
- end
- end
- end
- self.model:Bind(TreasureMapConst.OPEN_NORMAL_EVENT_RESULT_VIEW, openNormalResultView)
-
- local function openRollResultView(show, vo)
- if (show and vo) or not show then
- self:OpenView("TreasureMapAdvanceRollView", show, vo)
- if show then
- GlobalEventSystem:Fire(EventName.OPEN_TREASUREMAP_USE_TIP_VIEW, false)
- end
- end
- end
- self.model:Bind(TreasureMapConst.OPEN_ROLL_EVENT_RESULT_VIEW, openRollResultView)
-
- local function openRewardPreviewView(show, index)
- self:OpenView("TreasureMapRewardPreviewView", show, index)
- end
- self.model:Bind(TreasureMapConst.OPEN_REWARD_PERVIEW_VIEW, openRewardPreviewView)
-
- local function openFeedbackView(show)
- self:OpenView("TreasureMapFeedbackView", show)
- end
- self.model:Bind(TreasureMapConst.OPEN_FEEDBACK_VIEW, openFeedbackView)
-
- -- 当藏宝商城的按钮被删除之后,需要重新获取缓存中的未过期道具再尝试创建一次按钮
- local function checkStorageShopIcon(icon_type)
- if icon_type and icon_type == 42414 then
- local function delay_method( )
- self.model:CheckStorageShopIcon(true)
- end
- setTimeout(delay_method, 3)
- end
- end
- GlobalEventSystem:Bind(ActivityIconManager.DELETE_ICON, checkStorageShopIcon)
-
- local function scene_change_func()
- if self.model.tm_need_refind_way then -- 需要重新寻路
- local function delay_method( )
- self.model:TreasureMapFindWay()
- end
- setTimeout(delay_method, 2)
- end
- end
- GlobalEventSystem:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, scene_change_func)
- end
-
- ----请求基本信息
- --function TreasureMapController:Handle35025( )
- -- if not TreasureMapController.IsDebug then
-
- -- else
- --
- -- end
- --end
|