源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 

419 wiersze
12 KiB

require("game.proto.407.Require407")
require("game.guildSpeedAct.GuildSpeedModel")
require("game.guildSpeedAct.view.GuildSpeedBaseView")--公会竞速主界面
require("game.guildSpeedAct.view.GuildSpeedRankItem")--公会竞速rankitem
require("game.guildSpeedAct.view.GuildSpeedGuildRankItem")--公会竞速Guildrankitem
require("game.guildSpeedAct.view.GuildSpeedTaskItem")--公会竞速任务item
require("game.guildSpeedAct.view.GuildSpeedTabItem")--页签
GuildSpeedController = GuildSpeedController or BaseClass(BaseController)
GuildSpeedController.Is_Debug = false
function GuildSpeedController:__init()
GuildSpeedController.Instance = self
self.model = GuildSpeedModel:getInstance()
self.mainVo = RoleManager.Instance.mainRoleInfo
self:RegisterAllProtocals()
self:AddAllEvents()
end
function GuildSpeedController:__delete()
end
function GuildSpeedController:AddAllEvents()
local function game_start_func()
end
GlobalEventSystem:Bind(EventName.GAME_START,game_start_func)
local function onSceneStartHandler()
if not self.is_login_load then
self.is_login_load = true
local all_list = CustomActivityModel:getInstance():getAllActListByBaseType(CustomActivityModel.CustomActBaseType.GUILD_SPEED) or {}
local server_time = TimeUtil:getServerTime()
for k,v in pairs(all_list) do
if server_time > v.stime and v.etime > server_time then
if GetModuleIsOpen(331,CustomActivityModel.CustomActBaseType.GUILD_SPEED) then
GuildSpeedModel:getInstance():Fire(GuildSpeedModel.REQUEST_INFO,40702)--开局游戏请求
GuildSpeedModel:getInstance():Fire(GuildSpeedModel.REQUEST_INFO,40706)--开局游戏请求
break
end
end
end
end
end
self:Bind(EventName.SCENE_LOAD_VIEW_COMPLETE, onSceneStartHandler)
-- local function CheckRedPoint( ... )
-- end
-- GlobalEventSystem:Bind(GoodsModel.CHANGE_BAGLIST,game_start_func)
local onOpenGuildSpeedBaseView = function ()
if self.GuildSpeedBaseView == nil then
self.GuildSpeedBaseView = GuildSpeedBaseView.New()
end
if self.GuildSpeedBaseView:HasOpen() then
self.GuildSpeedBaseView:UpdateView(base_type,sub_type)
else
self.GuildSpeedBaseView:Open(base_type,sub_type)
end
end
GlobalEventSystem:Bind(GuildSpeedModel.OPEN_GUILD_SPEED_VIEW, onOpenGuildSpeedBaseView)
local function onTaskFinishHandler(taskId)
if taskId == Config.Modulesub["331@66"].task_id then
self.model:CheckIconBoolOpen()
end
end
GlobalEventSystem:Bind(TaskEvent.ANS_FINISHED_TASK_LIST, onTaskFinishHandler)
-- local function onSendCmdFunc( ... )
-- local args_list = {...}
-- self:SendFmtToGame(args_list[1])
-- end
-- self.model:Bind(GuildSpeedModel.REQUEST_INFO, onSendCmdFunc)
local function request_info(request_id , ... )
if not GuildSpeedController.Is_Debug then
local fun_name = string.format("send%s",request_id)
if self[fun_name] then
print('----in GuildSpeedController.lua,line 44 request_id',request_id , ...)
self[fun_name](self,...)
end
elseif request_id == 40702 then
local fun_name = string.format("handle%s",request_id)
if self[fun_name] then
print('----in GuildSpeedController.lua,line 96 request_idIs_Debug',request_id , ...)
self[fun_name](self,...)
end
end
end
self.model:Bind(GuildSpeedModel.REQUEST_INFO,request_info)
local function init_open_day( ... )--开服天数初始化
-- self.model:Fire(GuildSpeedModel.REQUEST_INFO,40700)
-- self.model:Fire(GuildSpeedModel.REQUEST_INFO,40701)
end
GlobalEventSystem:Bind(EventName.OPEN_DAY_INIT,init_open_day)
local function chnage_day_func(type)
if type == SettingModel.CHANGE_DAY.HOUR_0 then -- 跨0点
local open_day = ServerTimeModel:getInstance():GetOpenServerDay()
if open_day == 8 then
for i=1,4 do
self.model:Fire(GuildSpeedModel.REQUEST_INFO,40704,i)
end
end
end
end
GlobalEventSystem:Bind(EventName.CHANE_DAY, chnage_day_func)
--升级
local function onLevelUp(level)
if level == Config.Modulesub["331@66"].open_lv then
for i=1,4 do
self.model:Fire(GuildSpeedModel.REQUEST_INFO,40704,i)
end
end
end
RoleManager.Instance.mainRoleInfo:Bind(EventName.CHANGE_LEVEL, onLevelUp)
end
function GuildSpeedController:RegisterAllProtocals()
self:RegisterProtocal(40700, "handle40700") -- 社团榜信息
self:RegisterProtocal(40701, "handle40701") -- 个人榜信息
self:RegisterProtocal(40702, "handle40702") -- 奖励推送提示
self:RegisterProtocal(40703, "handle40703") -- 社团活跃榜信息
self:RegisterProtocal(40704, "handle40704") -- 奖励领取情况
self:RegisterProtocal(40705, "handle40705") -- 领取奖励
self:RegisterProtocal(40706, "handle40706") -- 团长任务信息
self:RegisterProtocal(40707, "handle40707") -- 领取团长任务奖励
end
-- ############## 社团榜信息 ##############
-- protocol=40700
-- {
-- c2s{}
-- s2c{
-- guild_list:array{
-- rank :int8 // 排名
-- guild_id :int64 // 公会Id
-- guild_name :string // 社团名称
-- captain_name:string // 团长名称
-- mem_number :int8 // 成员数量
-- mem_limit :int8 // 成员上限
-- sum_power :int64 // 总战力
-- old_rank :int8 // 旧排名
-- }
-- my_guild_rank :int8 // 本社团排行
-- }
-- }
function GuildSpeedController:send40700()
self:SendFmtToGame(40700)
end
function GuildSpeedController:handle40700()
local scmd = {}
if not GuildSpeedController.Is_Debug then
scmd = SCMD40700.New(true)
else
scmd.guild_list = {}
for i=1,20 do
local guild_data = {
rank = i,
guild_name = "别人家的公会",
captain_name = "会长名字六个字",
guild_id = i,
mem_number = 50,
mem_limit = 50,
sum_power = 1000000 - i*10000,
}
if i <= 3 then
scmd.old_rank = i
else
scmd.old_rank = 0
end
scmd.guild_list[#scmd.guild_list + 1] = guild_data
end
scmd.my_guild_rank = 2
end
-- print("huangcong:GuildSpeedController [89]: ",scmd)
-- PrintTable(scmd)
self.model.my_guild_rank = scmd.my_guild_rank
self.model:SetGuildRankInfo(scmd.guild_list)
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW)
end
-- ############## 个人榜信息 ##############
-- protocol=40701
-- {
-- c2s{}
-- s2c{
-- rank_list:array{
-- rank :int8 // 排名
-- role_id :int64 // 角色Id
-- role_name :string // 玩家名称
-- power :int64 // 战力
-- position :int8 // 职位
-- vip_flag :int8 //vip等级
-- sup_vip_type:int8 //贵族类型
-- }
-- my_rank :int8 // 个人排行
-- }
-- }
function GuildSpeedController:send40701()
self:SendFmtToGame(40701)
end
function GuildSpeedController:handle40701()
local scmd = {}
if not GuildSpeedController.Is_Debug then
scmd = SCMD40701.New(true)
else
scmd.rank_list = {}
for i=1,50 do
local rank_data = {
rank = i,
role_id = i*10086,
role_name = "名字有六个字",
power = 1000000 - i * 10000
}
if i <= 5 then
rank_data.position = i
else
rank_data.position = 5
end
if 15 - i > 0 then
rank_data.vip_flag = 15-i
rank_data.sup_vip_type = math.floor((15-i)/3)
else
rank_data.vip_flag = 0
rank_data.sup_vip_type = 0
end
scmd.rank_list[#scmd.rank_list + 1] = rank_data
end
scmd.my_rank = 2
end
-- print("huangcong:GuildSpeedController [186]: ",scmd)
-- PrintTable(scmd)
self.model.my_rank = scmd.my_rank
self.model:SetRankInfo(scmd.rank_list)
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW,GuildSpeedBaseView.TabId.Fight)
end
-- ############## 奖励推送提示 ##############
-- protocol=40702
-- {
-- c2s{}
-- s2c{
-- rank :int8 // 排行
-- goods_id :int32 // 奖励id
-- }
-- }
function GuildSpeedController:send40702()
self:SendFmtToGame(40702)
end
function GuildSpeedController:handle40702()
local scmd = {}
if not GuildSpeedController.Is_Debug then
scmd = SCMD40702.New(true)
else
scmd.rank = 2
scmd.goods_id = 433018
end
-- print("huangcong:GuildSpeedController [255]: ",scmd)
-- PrintTable(scmd)
if scmd.goods_id ~= 0 then
GlobalEventSystem:Fire(AchieveModel.OPEN_GUILD_SPEED_TIP_VIEW,scmd)
end
end
-- ############## 社团活跃榜信息 ##############
-- protocol=40703
-- {
-- c2s{}
-- s2c{
-- guild_list:array{
-- rank :int8 // 排名
-- guild_id :int64 // 公会Id
-- guild_name :string // 社团名称
-- captain_name:string // 团长名称
-- mem_number :int8 // 成员数量
-- mem_limit :int8 // 成员上限
-- sum_live :int32 // 总活跃值
-- }
-- my_live :int32 // 我的活跃值
-- }
-- }
function GuildSpeedController:send40703()
self:SendFmtToGame(40703)
end
function GuildSpeedController:handle40703()
local scmd = SCMD40703.New(true)
-- print("huangcong:GuildSpeedController [276]: ",scmd)
-- PrintTable(scmd)
self.model.my_live = scmd.my_live
local my_guild_live_rank = 0
local my_guild_id = RoleManager.Instance.mainRoleInfo.guild_id
if my_guild_id and my_guild_id ~= 0 then
for i,v in ipairs(scmd.guild_list) do
if v.guild_id == my_guild_id then
my_guild_live_rank = v.rank
break
end
end
end
self.model.my_guild_live_rank = my_guild_live_rank
self.model:SetActiveRankInfo(scmd.guild_list)
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW,GuildSpeedBaseView.TabId.Active)
end
-- ############## 奖励领取情况 ##############
-- protocol=40704
-- {
-- c2s{
-- type :int8 // 1-战力奖励 2-活跃奖励 3-战力榜团长专属 4-活跃榜团长专属
-- }
-- s2c{
-- type :int8 // 1-战力奖励 2-活跃奖励 3-战力榜团长专属 4-活跃榜团长专属
-- is_receive :int8 // 是否已经领取 0-未领取 1-可领取 2-已领取
-- }
-- }
function GuildSpeedController:send40704(type)
self:SendFmtToGame(40704,"c",type)
end
function GuildSpeedController:handle40704()
local scmd = SCMD40704.New(true)
-- print("huangcong:GuildSpeedController [299]: ",scmd)
-- PrintTable(scmd)
self.model:SetTypeAwardInfo(scmd)
local tab_refresh = scmd.type ~= 4 and scmd.type or GuildSpeedBaseView.TabId.Leader
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW,scmd.type)
end
-- ############## 领取奖励 ##############
-- protocol=40705
-- {
-- c2s{
-- type :int8 // 1-战力奖励 2-活跃奖励 3-战力榜团长专属 4-活跃榜团长专属
-- }
-- s2c{
-- res :int32 // 返回码
-- type :int8 // 1-战力奖励 2-活跃奖励 3-战力榜团长专属 4-活跃榜团长专属
-- }
-- }
function GuildSpeedController:send40705(type)
self:SendFmtToGame(40705,"c",type)
end
function GuildSpeedController:handle40705()
local scmd = SCMD40705.New(true)
if scmd.res == 1 then
Message.show("领取成功","success")
self.model:SetTypeAwardInfo({is_receive = 2,type = scmd.type})
local tab_refresh_type = scmd.type ~= 4 and scmd.type or GuildSpeedBaseView.TabId.Leader
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW,tab_refresh_type)
else
ErrorCodeShow(scmd.res)
end
end
-- ############## 团长任务信息 ##############
-- protocol=40706
-- {
-- c2s{}
-- s2c{
-- task_list:array{
-- task_id :int16 // 任务Id
-- progress :int64 // 任务进度(包括战力任务)
-- status :int8 // 任务状态 0-未完成 1-已完成 2-已领取
-- }
-- }
-- }
function GuildSpeedController:send40706()
self:SendFmtToGame(40706)
end
function GuildSpeedController:handle40706()
local scmd = SCMD40706.New(true)
-- print("huangcong:GuildSpeedController [start:382] :", scmd)
-- PrintTable(scmd)
-- print("huangcong:GuildSpeedController [end]")
self.model:SetTaskInfo(scmd)
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW,GuildSpeedBaseView.TabId.Leader)
end
-- ############## 领取团长任务奖励 ##############
-- protocol=40707
-- {
-- c2s{
-- task_id :int16 // 任务Id
-- }
-- s2c{
-- res :int32 // 返回码
-- task_id :int16 // 任务Id
-- progress :int64 // 任务进度(包括战力任务)
-- status :int8 // 任务状态 0-未完成 1-已完成 2-已领取
-- }
-- }
function GuildSpeedController:send40707(task_id)
self:SendFmtToGame(40707,"h",task_id)
end
function GuildSpeedController:handle40707()
local scmd = SCMD40707.New(true)
if scmd.res == 1 then
Message.show("领取成功","success")
local task_info = self.model:GetTaskInfo(scmd.task_id)
task_info.progress = scmd.progress
task_info.status = scmd.status
self.model:CheckMainIconRedDot()
self.model:Fire(GuildSpeedModel.UPDATE_GUILD_SPEED_VIEW,GuildSpeedBaseView.TabId.Leader)
else
ErrorCodeShow(scmd.res)
end
end