PGRData/Resources/Scripts/XUi/XUiArenaWarZone/XUiArenaWarZone.lua
2022-12-26 14:06:01 +05:30

67 lines
No EOL
1.9 KiB
Lua

local XUiArenaWarZone = XLuaUiManager.Register(XLuaUi, "UiArenaWarZone")
local XUiGridZone = require("XUi/XUiArenaWarZone/ArenaWarZoneCommon/XUiGridZone")
function XUiArenaWarZone:OnAwake()
self:AutoAddListener()
end
function XUiArenaWarZone:OnStart()
self.AssetPanel = XUiPanelAsset.New(self, self.PanelAsset, XDataCenter.ItemManager.ItemId.FreeGem, XDataCenter.ItemManager.ItemId.ActionPoint, XDataCenter.ItemManager.ItemId.Coin)
self.GridList = {}
for i = 1, 5 do
local trans = self["GridZone" .. i]
local grid = XUiGridZone.New(trans, self)
table.insert(self.GridList, grid)
end
end
function XUiArenaWarZone:OnEnable()
XDataCenter.ArenaManager.RequestAreaData()
self:Refresh()
end
function XUiArenaWarZone:OnGetEvents()
return { XEventId.EVENT_ARENA_REFRESH_AREA_INFO, XEventId.EVENT_ARENA_UNLOCK_AREA }
end
function XUiArenaWarZone:OnNotify(evt)
if evt == XEventId.EVENT_ARENA_REFRESH_AREA_INFO then
self:Refresh()
elseif evt == XEventId.EVENT_ARENA_UNLOCK_AREA then
self:RefreshUnlockCount()
end
end
function XUiArenaWarZone:AutoAddListener()
self:RegisterClickEvent(self.BtnBack, self.OnBtnBackClick)
self:RegisterClickEvent(self.BtnMainUi, self.OnBtnMainUiClick)
self:BindHelpBtn(self.BtnHelpCourse, "Arena")
end
function XUiArenaWarZone:OnBtnBackClick()
self:Close()
end
function XUiArenaWarZone:OnBtnMainUiClick()
XLuaUiManager.RunMain()
end
function XUiArenaWarZone:Refresh()
local point = XDataCenter.ArenaManager.GetArenaAreaTotalPoint()
self.TxtTotalPoint.text = point
self:RefreshUnlockCount()
local challengeCfg = XDataCenter.ArenaManager.GetCurChallengeCfg()
for i, grid in ipairs(self.GridList) do
grid:SetMetaData(challengeCfg.AreaId[i])
end
end
function XUiArenaWarZone:RefreshUnlockCount()
local remainCount = XDataCenter.ArenaManager.GetUnlockArenaAreaCount()
self.TxtRemainUnlockTime.text = remainCount
end