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