-- require("game.proto.416.Require416") require("game.mobilization.MobilizationModel") require("game.mobilization.view.MobilizationView")--全民动员主界面 require("game.mobilization.view.MobilizationTab")--全民动员主界面tab require("game.mobilization.view.MobilizationSubTab")--全民动员主界面tab require("game.mobilization.view.MobilizationItem")--全民动员子界面item require("game.mobilization.view.MobilizationGroupBuyingItem")--全民动员系列界面item require("game.mobilization.view.MobilizationGroupBuyingDiscountItem")--全民动员系列界面打折和购买人数item MobilizationController = MobilizationController or BaseClass(BaseController) MobilizationController.Is_Debug = false function MobilizationController:__init() MobilizationController.Instance = self self.model = MobilizationModel:getInstance() self.mainVo = RoleManager.Instance.mainRoleInfo self:RegisterAllProtocals() self:AddAllEvents() end function MobilizationController:__delete() end function MobilizationController:AddAllEvents() local function game_start_func() end GlobalEventSystem:Bind(EventName.GAME_START,game_start_func) -- local function CheckRedPoint( ... ) -- end -- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func) local onOpenMobilizationView = function (sub_type,day,is_close) if not GetModuleIsOpen(331,CustomActivityModel.CustomActBaseType.MOBILIZATION) then return end sub_type = sub_type or CustomActivityModel:getInstance():getActMinSubType(CustomActivityModel.CustomActBaseType.MOBILIZATION) local open_bool = self.model:CheckActOpen(sub_type)--是否开启 if not open_bool then Message.show("活动未开启","fault") return end self:OpenView("MobilizationView",not is_close,sub_type,day) -- 检查一下是否需要展示宣传图 并展示 AdvertisementModel:getInstance():CheckAndShowActivityAd( CustomActivityModel.CustomActBaseType.MOBILIZATION ) end GlobalEventSystem:Bind(MobilizationModel.OPEN_MOBILIZATION_VIEW, onOpenMobilizationView) local function request_info(request_id , ... ) if not MobilizationController.Is_Debug then local fun_name = string.format("send%s",request_id) if self[fun_name] then print('----in MobilizationController.lua,line 53 request_id',request_id , ...) self[fun_name](self,...) end elseif request_id == 33225 then local fun_name = string.format("Handler%s",request_id) if self[fun_name] then print('----in MobilizationController.lua,line 59 request_idIs_Debug',request_id , ...) self[fun_name](self,...) end end end self.model:Bind(MobilizationModel.REQUEST_INFO,request_info) local function init_open_day( ... )--开服天数初始化 -- self.model:checkRuneIconBoolOpen() end GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day) --升级 local function onLevelUp(level) if Config.Modulesub["331@71"].open_lv == level then local base_type = CustomActivityModel.CustomActBaseType.MOBILIZATION local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {} if act_list then for i,v in ipairs(act_list) do self.model:CheckIconBoolOpen(v.sub_type) end end end end RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp) local function chnage_day_func(type) if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点 local base_type = CustomActivityModel.CustomActBaseType.MOBILIZATION local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {} if act_list then for i,v in pairs(act_list) do MobilizationModel:getInstance():Fire(MobilizationModel.REQUEST_INFO,33225,v.sub_type) self.model:CheckIconBoolOpen(v.sub_type) end end local base_type = CustomActivityModel.CustomActBaseType.KF_GROUP_BUYING local act_list = CustomActivityModel:getInstance():getAllActListByBaseType(base_type) or {} if act_list then for i,v in pairs(act_list) do for ii,vv in ipairs(v.condition_list) do if vv[1] == "custom_act" and tonumber(vv[2]) == 71 then MobilizationModel:getInstance():Fire(MobilizationModel.REQUEST_INFO,33225,tonumber(vv[3])) break end end end end end end GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func) local function onSceneStartHandler() if self.model.need_load_scene_open_view then -- GlobalEventSystem:Fire(MobilizationModel.OPEN_MERCENARY_SUPPLY_VIEW,self.model.need_load_scene_open_view) self.model.need_load_scene_open_view = nil end end self:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, onSceneStartHandler) end function MobilizationController:RegisterAllProtocals() self:RegisterProtocal(33225, "Handler33225")--查询全民动员 self:RegisterProtocal(33226, "Handler33226")--全民动员 奖励领取 self:RegisterProtocal(33227, "Handler33227")--全民动员 日奖励领取 end -- ########## 查询全民动员 ########### -- protocol=33225 -- { -- c2s{ -- sub_type :int16 // 活动子类型 -- } -- s2c{ -- sub_type :int16 // 活动子类型 -- list:array{ // 每日任务状态列表 -- start_day :int16 // 开始天数 -- end_day :int16 // 结束天数 -- total :int16 // 大奖进度 -- total_state :int8 // 0:未完成 1:可领取 2:已完成 -- task_list:array{ // 任务列表 -- task_type :int16 // 任务类型id -- id :int16 // 任务id -- server_pro :int32 // 全服进度 -- person_pro :int32 // 个人进度 -- finish_pro :int8 // 领取条件0未完成1完成 -- state :int8 // 0:未完成 1:可领取 2:已完成 -- } -- } -- } -- } function MobilizationController:send33225(sub_type) self:SendFmtToGame(33225,"h",sub_type) end function MobilizationController:Handler33225() local vo = SCMD33225.New(true) self.model:SetMobilizationInfo(vo) self.model:Fire(MobilizationModel.UPDATE_MOBILIZATION_VIEW,vo.sub_type) self.model:CheckIconBoolOpen(vo.sub_type) end -- ########## 全民动员 奖励领取 ########### -- protocol=33226 -- { -- c2s{ -- sub_type :int16 // 活动子类型 -- task_type :int16 // 任务类型id -- id :int16 // 任务id -- } -- s2c{ -- sub_type :int16 // 活动子类型 -- res :int32 // 返回码(1即成功否则返回错误码) -- } -- } function MobilizationController:send33226(sub_type,task_type,id) self:SendFmtToGame(33226,"hhh",sub_type,task_type,id) end function MobilizationController:Handler33226() local scmd = SCMD33226.New(true) if scmd.res == 1 then Message.show("领取成功","success") self.model:Fire(MobilizationModel.REQUEST_INFO,33225,scmd.sub_type) else ErrorCodeShow(scmd.res) end end -- ########## 全民动员 天数奖励领取 ########### -- protocol=33227 -- { -- c2s{ -- sub_type :int16 // 活动子类型 -- start_day :int16 // 开始天 -- end_day :int16 // 结算天 -- } -- s2c{ -- sub_type :int16 // 活动子类型 -- res :int32 // 返回码(1即成功否则返回错误码) -- } -- } function MobilizationController:send33227(sub_type,start_day,end_day) self:SendFmtToGame(33227,"hhh",sub_type,start_day,end_day) end function MobilizationController:Handler33227() local scmd = SCMD33227.New(true) if scmd.res == 1 then Message.show("领取成功","success") self.model:Fire(MobilizationModel.REQUEST_INFO,33225,scmd.sub_type) else ErrorCodeShow(scmd.res) end end