Major Update - 2.0.0.143
EN: 2.0.0.143 CN: 2.0.0.142 JP: 2.0.0.145 KR: 2.0.0.150
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
local ReengagementBDTrialCtrl = class("ReengagementBDTrialCtrl", BaseCtrl)
|
||||
local TimerManager = CS.TimerManager.Instance
|
||||
local ClientManager = CS.ClientManager.Instance
|
||||
ReengagementBDTrialCtrl._mapNodeConfig = {
|
||||
txtActName = {
|
||||
sComponentName = "TMP_Text",
|
||||
@@ -15,30 +17,72 @@ ReengagementBDTrialCtrl._mapNodeConfig = {
|
||||
goInstanceItem = {
|
||||
nCount = 6,
|
||||
sCtrlName = "Game.UI.Activity.Reengagement.ReengagementBDPreviewItemCtrl"
|
||||
}
|
||||
},
|
||||
txtTime = {sComponentName = "TMP_Text"}
|
||||
}
|
||||
ReengagementBDTrialCtrl._mapEventConfig = {}
|
||||
function ReengagementBDTrialCtrl:Refresh(nCurTog)
|
||||
if nCurTog ~= AllEnum.ReengagementTog.BDTrial then
|
||||
return
|
||||
end
|
||||
self:RefreshTrialItems()
|
||||
self:RefreshRemainTime()
|
||||
if nil == self.remainTimer then
|
||||
self.remainTimer = self:AddTimer(0, 1, "RefreshRemainTime", true, true, false)
|
||||
end
|
||||
end
|
||||
function ReengagementBDTrialCtrl:RefreshTrialItems()
|
||||
self.nWorldLevel = PlayerData.Base:GetWorldClass()
|
||||
self.mapTrialBuildData = {}
|
||||
local foreachMapData = function(mapData)
|
||||
if self.nWorldLevel >= mapData.MinLevel and self.nWorldLevel <= mapData.MaxLevel then
|
||||
self.mapTrialBuildData = mapData
|
||||
end
|
||||
end
|
||||
ForEachTableLine(ConfigTable.Get("ReengagementBDTrial"), foreachMapData)
|
||||
if self.mapTrialBuildData == {} then
|
||||
return
|
||||
end
|
||||
self.tbBuildIds = self.mapTrialBuildData.BuildIds
|
||||
self.tbBuildIds = PlayerData.Reengagement:GetLimitedTrialBuildList()
|
||||
for k, nBuildId in ipairs(self.tbBuildIds) do
|
||||
local itemCtrl = self.goInstanceItem[k]
|
||||
local itemCtrl = self._mapNode.goInstanceItem[k]
|
||||
itemCtrl:Refresh(nBuildId)
|
||||
end
|
||||
end
|
||||
function ReengagementBDTrialCtrl:RefreshRemainTime()
|
||||
local endTime = PlayerData.Reengagement:GetReengagementCloseTime()
|
||||
local curTime = ClientManager.serverTimeStamp
|
||||
local remainTime = endTime - curTime
|
||||
if remainTime < 0 then
|
||||
TimerManager.Remove(self.remainTimer)
|
||||
self.remainTimer = nil
|
||||
EventManager.Hit(EventId.OpenMessageBox, {
|
||||
nType = AllEnum.MessageBox.Alert,
|
||||
sContent = ConfigTable.GetUIText("Activity_Invalid_Tip_1"),
|
||||
callbackConfirm = function()
|
||||
EventManager.Hit(EventId.ClosePanel, PanelId.ReengagementPanel)
|
||||
end
|
||||
})
|
||||
return
|
||||
end
|
||||
local sTimeStr = ""
|
||||
if remainTime <= 60 then
|
||||
local sec = math.floor(remainTime)
|
||||
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Sec") or "", sec)
|
||||
elseif 60 < remainTime and remainTime <= 3600 then
|
||||
local min = math.floor(remainTime / 60)
|
||||
local sec = math.floor(remainTime - min * 60)
|
||||
if sec == 0 then
|
||||
min = min - 1
|
||||
sec = 60
|
||||
end
|
||||
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Min") or "", min, sec)
|
||||
elseif 3600 < remainTime and remainTime <= 86400 then
|
||||
local hour = math.floor(remainTime / 3600)
|
||||
local min = math.floor((remainTime - hour * 3600) / 60)
|
||||
if min == 0 then
|
||||
hour = hour - 1
|
||||
min = 60
|
||||
end
|
||||
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Hour") or "", hour, min)
|
||||
elseif 86400 < remainTime then
|
||||
local day = math.floor(remainTime / 86400)
|
||||
local hour = math.floor((remainTime - day * 86400) / 3600)
|
||||
if hour == 0 then
|
||||
day = day - 1
|
||||
hour = 24
|
||||
end
|
||||
sTimeStr = orderedFormat(ConfigTable.GetUIText("Activity_Remain_Time_Day") or "", day, hour)
|
||||
end
|
||||
NovaAPI.SetTMPText(self._mapNode.txtTime, sTimeStr)
|
||||
end
|
||||
return ReengagementBDTrialCtrl
|
||||
|
||||
Reference in New Issue
Block a user