2021-09-29 18:34:54 +08:00
|
|
|
|
YuJianXingManager = {}
|
|
|
|
|
local this = YuJianXingManager
|
|
|
|
|
local riceCtrl = require("Modules/YuJianXing/RiceCtrlView")
|
2021-10-12 11:26:48 +08:00
|
|
|
|
local bgList = {"y_yujianxing_bg","y_yujianxing_bg","y_yujianxing_bg","y_yujianxing_bg","y_yujianxing_bg"}
|
2021-10-14 15:30:46 +08:00
|
|
|
|
local configData = ConfigManager.GetConfigData(ConfigName.RidingSwardConfig,1)
|
2021-09-29 18:34:54 +08:00
|
|
|
|
|
|
|
|
|
function this.Initialize()
|
2021-10-13 17:38:32 +08:00
|
|
|
|
this.joinCount = 0--参与投注的轮数
|
2021-09-29 18:34:54 +08:00
|
|
|
|
this.curState = 0 --当前比赛状态
|
2021-10-11 17:25:48 +08:00
|
|
|
|
this.nextTimeCount = 0 --下轮开始时间
|
|
|
|
|
this.activityTimeCount = 0 --活动倒计时
|
2021-10-13 15:39:47 +08:00
|
|
|
|
this.curResultId = {} --当前剧本的Id
|
|
|
|
|
this.lastResult = {} --上一场剧本的时间和ID
|
|
|
|
|
this.curRecordList = {} --当前纪录数据
|
|
|
|
|
this.curBetList = {} --当前竞猜数据
|
2021-10-14 11:25:44 +08:00
|
|
|
|
this.modelList = {}--玩家名等数据
|
2021-10-12 11:26:48 +08:00
|
|
|
|
this.InWaiting = false
|
2021-10-13 15:39:47 +08:00
|
|
|
|
this.sendEvent = true
|
2021-10-08 20:49:25 +08:00
|
|
|
|
this.CloseMap()
|
2021-09-29 18:34:54 +08:00
|
|
|
|
end
|
|
|
|
|
|
2021-10-08 15:45:28 +08:00
|
|
|
|
--初始化地图
|
|
|
|
|
function this.OpenMap()
|
2021-10-12 15:53:57 +08:00
|
|
|
|
local playerData = ConfigManager.GetConfigDataByKey(ConfigName.RidingSwardResult,"Id",1)--1是初始化用
|
2021-10-08 15:45:28 +08:00
|
|
|
|
if not this.riceCtrl then
|
|
|
|
|
this.riceCtrl = riceCtrl:New()
|
2021-10-08 20:49:25 +08:00
|
|
|
|
this.riceCtrl:Awake(bgList,playerData)
|
2021-10-08 15:45:28 +08:00
|
|
|
|
end
|
|
|
|
|
if this.timer then
|
|
|
|
|
this.timer:Stop()
|
|
|
|
|
this.timer = nil
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--销毁地图--正常
|
|
|
|
|
function this.CloseMap()
|
|
|
|
|
if this.riceCtrl then
|
|
|
|
|
this.riceCtrl:Dispose()
|
|
|
|
|
this.riceCtrl = nil
|
|
|
|
|
end
|
2021-09-29 18:34:54 +08:00
|
|
|
|
end
|
|
|
|
|
|
2021-10-12 11:26:48 +08:00
|
|
|
|
--重新请求数据
|
|
|
|
|
function this.ReGetInfo(func)
|
|
|
|
|
local id = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.YuJianXing)
|
|
|
|
|
NetManager.RidingSwardActivityRequest(id.activityId,func)
|
|
|
|
|
end
|
|
|
|
|
|
2021-10-11 14:37:33 +08:00
|
|
|
|
--更新服务器界面信息
|
|
|
|
|
function this.UpdataServerPanelData(msg,func)
|
2021-10-13 19:15:39 +08:00
|
|
|
|
this.joinCount = msg.betCount--参与投注的轮数
|
2021-10-11 14:37:33 +08:00
|
|
|
|
this.curState = msg.state--当前状态
|
2021-10-12 11:26:48 +08:00
|
|
|
|
if msg.state == 1 then
|
|
|
|
|
this.InWaiting = false
|
|
|
|
|
end
|
|
|
|
|
this.nextTimeCount = msg.time/1000--下一场倒计时
|
2021-10-13 15:39:47 +08:00
|
|
|
|
LogYellow("当前state:"..tostring(msg.state).." 下一阶段倒计时:"..TimeToMS(this.nextTimeCount- GetTimeStamp() ))
|
2021-10-14 11:25:44 +08:00
|
|
|
|
this.modelList = {}
|
2021-10-11 14:37:33 +08:00
|
|
|
|
this.modelList = msg.modelInfo--玩家模板信息
|
2021-10-11 17:25:48 +08:00
|
|
|
|
this.activityTimeCount = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.YuJianXing).endTime
|
2021-10-14 11:25:44 +08:00
|
|
|
|
this.curResultId = {}
|
2021-10-13 15:39:47 +08:00
|
|
|
|
this.curResultId = msg.rankId
|
|
|
|
|
Game.GlobalEvent:DispatchEvent(GameEvent.YuJianXing.UpdateRank)
|
2021-10-14 16:10:54 +08:00
|
|
|
|
-- CheckRedPointStatus(RedPointType.YuJianXingMian)
|
2021-10-11 14:37:33 +08:00
|
|
|
|
if func then
|
|
|
|
|
func()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
--更新服务器奖励投注上一轮信息
|
|
|
|
|
function this.UpdataServerData(msg,func)
|
2021-10-13 15:39:47 +08:00
|
|
|
|
this.lastResult = msg.lastRank
|
|
|
|
|
if msg.lastRank.rankId == 0 then
|
|
|
|
|
LogError("御剑行剧本id为0:")
|
|
|
|
|
return
|
|
|
|
|
end
|
2021-10-13 17:30:26 +08:00
|
|
|
|
this.curRecordList = {}
|
2021-10-13 15:39:47 +08:00
|
|
|
|
this.curRecordList = msg.recordLsit
|
2021-10-13 17:30:26 +08:00
|
|
|
|
this.curBetList = {}
|
2021-10-13 15:39:47 +08:00
|
|
|
|
this.curBetList = msg.betList
|
2021-10-14 09:53:51 +08:00
|
|
|
|
table.sort( this.curRecordList, function (a,b)
|
|
|
|
|
if a.state == b.state then
|
|
|
|
|
return a.time > b.time
|
|
|
|
|
else
|
|
|
|
|
return a.state < b.state
|
|
|
|
|
end
|
|
|
|
|
end )
|
2021-10-13 19:15:39 +08:00
|
|
|
|
this.joinCount = msg.betCount--参与投注的轮数
|
2021-10-14 16:10:54 +08:00
|
|
|
|
-- CheckRedPointStatus(RedPointType.YuJianXingMian)
|
2021-10-11 14:37:33 +08:00
|
|
|
|
if func then
|
|
|
|
|
func()
|
|
|
|
|
end
|
2021-09-29 18:34:54 +08:00
|
|
|
|
end
|
|
|
|
|
|
2021-10-12 17:21:46 +08:00
|
|
|
|
--重新加载玩家数据
|
2021-10-12 15:53:57 +08:00
|
|
|
|
function this.ReloadPlayersData(_id)
|
2021-10-12 17:21:46 +08:00
|
|
|
|
local data = _id > 0 and _id or 1
|
|
|
|
|
local playerData = ConfigManager.GetConfigDataByKey(ConfigName.RidingSwardResult,"Id",data)
|
2021-10-12 15:53:57 +08:00
|
|
|
|
this.riceCtrl:ReloadPlayersData(playerData)
|
|
|
|
|
end
|
|
|
|
|
|
2021-10-12 17:21:46 +08:00
|
|
|
|
--隐藏玩家
|
|
|
|
|
function this.HideAllPlayers(_state)
|
|
|
|
|
this.riceCtrl:HideAllPlayers(_state)
|
|
|
|
|
end
|
|
|
|
|
|
2021-10-08 15:45:28 +08:00
|
|
|
|
--修改游戏状态
|
2021-09-29 18:34:54 +08:00
|
|
|
|
function this.SetGameState(_state)
|
|
|
|
|
this.riceCtrl:SetGameState(_state)
|
|
|
|
|
end
|
|
|
|
|
|
2021-10-08 20:49:25 +08:00
|
|
|
|
--游戏结束 重置
|
|
|
|
|
function this.FinishResetGame()
|
|
|
|
|
Timer.New(function ()
|
2021-10-12 11:26:48 +08:00
|
|
|
|
Game.GlobalEvent:DispatchEvent(GameEvent.YuJianXing.GameFinished)
|
|
|
|
|
this.InWaiting = true
|
2021-10-08 20:49:25 +08:00
|
|
|
|
this.ResetGame()
|
|
|
|
|
end,0.3):Start()
|
|
|
|
|
end
|
|
|
|
|
|
2021-10-08 15:45:28 +08:00
|
|
|
|
--重置游戏
|
|
|
|
|
function this.ResetGame()
|
2021-10-13 15:39:47 +08:00
|
|
|
|
YuJianXingManager.sendEvent = true
|
2021-10-08 15:45:28 +08:00
|
|
|
|
this.riceCtrl:ResetGame()
|
2021-09-29 18:34:54 +08:00
|
|
|
|
end
|
|
|
|
|
|
2021-10-09 16:24:34 +08:00
|
|
|
|
function this.ResetPlayerPosVertical()
|
|
|
|
|
this.riceCtrl:ResetPlayerPosVertical()
|
|
|
|
|
end
|
2021-10-08 15:45:28 +08:00
|
|
|
|
|
2021-10-14 15:30:46 +08:00
|
|
|
|
function this.CheckBetTime()
|
|
|
|
|
local id = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.YuJianXing)
|
|
|
|
|
NetManager.RidingSwardActivityRequest(id,function ()
|
|
|
|
|
LogGreen("御剑行:"..tostring(configData.JoinCount - this.joinCount ))
|
|
|
|
|
return configData.JoinCount - this.joinCount > 0
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
function this.CheckBetRecord()
|
|
|
|
|
NetManager.RidingSwardInfoRequest(function ()
|
|
|
|
|
for i = 1, #this.curRecordList do
|
|
|
|
|
if this.curRecordList[i].state == 0 then
|
|
|
|
|
LogYellow("御剑行:true")
|
|
|
|
|
return true
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
LogYellow("御剑行:false")
|
|
|
|
|
return false
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
2021-09-29 18:34:54 +08:00
|
|
|
|
return YuJianXingManager
|