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