87 lines
2.1 KiB
Lua
87 lines
2.1 KiB
Lua
|
--=================
|
||
|
--主界面标题面板
|
||
|
--=================
|
||
|
local XUiSSBMainPanelTitle = {}
|
||
|
--=================
|
||
|
--面板
|
||
|
--=================
|
||
|
local Panel = {}
|
||
|
--=================
|
||
|
--计时器Id
|
||
|
--=================
|
||
|
local TimerId
|
||
|
--=================
|
||
|
--获取活动剩余时间字符串
|
||
|
--=================
|
||
|
local GetLeftTimeStr = function()
|
||
|
local leftTime = XDataCenter.SuperSmashBrosManager.GetActivityLeftTime()
|
||
|
return XUiHelper.GetTime(leftTime, XUiHelper.TimeFormatType.ACTIVITY)
|
||
|
end
|
||
|
--=================
|
||
|
--设置剩余时间
|
||
|
--=================
|
||
|
local SetLeftTime = function()
|
||
|
if Panel.TxtLeftTime then
|
||
|
Panel.TxtLeftTime.text = GetLeftTimeStr()
|
||
|
end
|
||
|
end
|
||
|
--=================
|
||
|
--初始化
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.Init(ui)
|
||
|
Panel = XTool.InitUiObjectByUi(Panel, ui.PanelTitle)
|
||
|
end
|
||
|
--=================
|
||
|
--显示时
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.OnEnable()
|
||
|
XUiSSBMainPanelTitle.StartLeftTimer()
|
||
|
end
|
||
|
--=================
|
||
|
--开始活动时间计时器
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.StartLeftTimer()
|
||
|
--若已经存在计时器,将其移除
|
||
|
if TimerId then
|
||
|
XUiSSBMainPanelTitle.RemoveLeftTimer()
|
||
|
end
|
||
|
--先设置文本,再开始计时器持续更新文本
|
||
|
SetLeftTime()
|
||
|
TimerId = XScheduleManager.ScheduleForever(function()
|
||
|
if XTool.UObjIsNil(Panel.Transform) then
|
||
|
XUiSSBMainPanelTitle.RemoveLeftTimer()
|
||
|
return
|
||
|
end
|
||
|
SetLeftTime()
|
||
|
end, 0)
|
||
|
end
|
||
|
--=================
|
||
|
--移除计时器
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.RemoveLeftTimer()
|
||
|
if not TimerId then return end
|
||
|
XScheduleManager.UnSchedule(TimerId)
|
||
|
TimerId = nil
|
||
|
end
|
||
|
--=================
|
||
|
--设置背景图
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.SetBg(path)
|
||
|
if Panel.RImgBg then
|
||
|
Panel.RImgBg:SetRawImage(path)
|
||
|
end
|
||
|
end
|
||
|
--=================
|
||
|
--隐藏时
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.OnDisable()
|
||
|
XUiSSBMainPanelTitle.RemoveLeftTimer()
|
||
|
end
|
||
|
--=================
|
||
|
--销毁时
|
||
|
--=================
|
||
|
function XUiSSBMainPanelTitle.OnDestroy()
|
||
|
Panel = {}
|
||
|
end
|
||
|
|
||
|
return XUiSSBMainPanelTitle
|