源战役客户端
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

131 lines
3.8 KiB

require("game.proto.102.Require102")
require("game.setting.SettingModel")
SettingController = SettingController or BaseClass(BaseController)
function SettingController:__init()
SettingController.Instance = self
self.model = SettingModel:getInstance()
self:RegisterProtocals()
self:InitEvent()
end
function SettingController:RegisterProtocals()
self:RegisterProtocal(10202,"on10202")
self:RegisterProtocal(10203,"on10203")
self:RegisterProtocal(10204,"on10204")
self:RegisterProtocal(10205,"on10205")
self:RegisterProtocal(10207,"on10207") --服务器跨天
self:RegisterProtocal(10208,"on10208") --战场信息:连杀信息
self:RegisterProtocal(10209,"on10209") --战场信息-击杀推送
end
function SettingController:on10204()
local vo = SCMD10204.New(true)
if vo.error_code ~= 1 then
ErrorCodeShow(vo.error_code)
end
end
--大类型数据返回
function SettingController:on10202()
local vo = SCMD10202.New(true)
self.model:SetTotalSettingInfo(vo)
if vo.type == 1 then --只需要请求一次
ChatModel:getInstance().require_11010_times = 3
ChatModel:getInstance():Fire(ChatModel.REQUEST_CACHE_EVENT, ChatModel.CHANNEL_WORLD)
ChatModel:getInstance():Fire(ChatModel.REQUEST_CACHE_EVENT, ChatModel.CHANNEL_CECRET)
ChatModel:getInstance():Fire(ChatModel.REQUEST_CACHE_EVENT, ChatModel.CHANNEL_CROSS)
ChatModel:getInstance():Fire(ChatModel.REQUEST_CACHE_EVENT, ChatModel.CHANNEL_COUNTRY)
local guild_id = RoleManager.Instance:GetMainRoleVo().guild_id
if guild_id and guild_id ~=0 then
ChatModel:getInstance().require_11010_times = 4
ChatModel:getInstance():Fire(ChatModel.REQUEST_CACHE_EVENT, ChatModel.CHANNEL_GUILD)
end
end
end
function SettingController:on10205()
local vo = SCMD10205.New(true)
ErrorCodeShow(vo.error_code, vo.args)
--重置寻宝状态
if vo.error_code == 1020002 then
TreasureHuntModel:getInstance():ChangeVar("bool_hunting", false)
end
end
function SettingController:on10207()
local vo = SCMD10207.New(true)
GlobalEventSystem:Fire(EventName.CHANE_DAY, vo.type)
end
--设置小类型返回
function SettingController:on10203()
local vo = SCMD10203.New(true)
if vo then
if vo.error_code == 1 then -- 1 表示成功
self.model:SetSettingInfo(vo.type,vo.subtype,vo.is_open)
SettingModel:getInstance():Fire(SettingModel.BROADCAST_SETTING_CHANGE)
else
ErrorCodeShow(vo.error_code)
end
end
end
function SettingController:InitEvent()
local engine_ver = EnglineVersion and tonumber(AppConst.EnglineVer) or 10000
--游戏登陆发送聊天设置请求
local game_start = function ()
self:SendFmtToGame(10202,"c",1)
self:SendFmtToGame(10202,"c",2)
self:SendFmtToGame(10204, "l", engine_ver)
end
GlobalEventSystem:Bind(EventName.GAME_START, game_start)
--请求所有设置信息
local function onRequestTotalSetting(type)
self:SendFmtToGame(10202,"c", type)
end
GlobalEventSystem:Bind(EventName.REQUEST_TOTAL_TYPE_SETTING,onRequestTotalSetting)
--请求所有设置信息
local function onRequestSetSubType(type,subtype,is_open)
self:SendFmtToGame(10203, "ccc", type,subtype,is_open)
end
self.model:Bind(SettingModel.RequestSetSubtype,onRequestSetSubType)
end
function SettingController:on10208()
local vo = SCMD10208.New(true)
local data =
{
num = vo.kill,
pos_x = -100,
pos_y = 0,
}
GlobalEventSystem:Fire(EventName.SHOW_DYNAMIC_FIGHT_KILL_COMBO_TIP, false, true, data)
end
function SettingController:on10209()
local vo = {
killer = {},
deader = {},
}
PictureProtoVo.ReadFmt(vo.killer)
PictureProtoVo.ReadFmt(vo.deader)
local kill_type = vo.type == 1 and 2 or 1
local data = {
role_vo_1 = vo.killer, --我方
role_vo_2 = vo.deader, --敌方
type = kill_type, --UI类型 2是击杀 1是终结
desc = "",
is_break = 1,
max_num = 2,
need_cut_str = true,
}
GlobalEventSystem:Fire(EventName.SHOW_DYNAMIC_FIGHT_TIP, data)
end