PGRData/Script/matrix/xui/xuiarenatask/XUiArenaTask.lua

56 lines
No EOL
1.6 KiB
Lua

local XUiArenaTask = XLuaUiManager.Register(XLuaUi, "UiArenaTask")
function XUiArenaTask:OnAwake()
self:AutoAddListener()
end
function XUiArenaTask:OnStart()
self.AssetPanel = XUiPanelAsset.New(self, self.PanelAsset, XDataCenter.ItemManager.ItemId.FreeGem, XDataCenter.ItemManager.ItemId.ActionPoint, XDataCenter.ItemManager.ItemId.Coin)
self.GridTask.gameObject:SetActive(false)
self.DynamicTable = XDynamicTableNormal.New(self.SViewTask.transform)
self.DynamicTable:SetProxy(XDynamicGridTask)
self.DynamicTable:SetDelegate(self)
end
function XUiArenaTask:OnEnable()
XEventManager.AddEventListener(XEventId.EVENT_FINISH_TASK, self.Refresh, self)
self:Refresh()
end
function XUiArenaTask:OnDisable()
XEventManager.RemoveEventListener(XEventId.EVENT_FINISH_TASK, self.Refresh, self)
end
function XUiArenaTask:AutoAddListener()
self:RegisterClickEvent(self.BtnBack, self.OnBtnBackClick)
self:RegisterClickEvent(self.BtnMainUi, self.OnBtnMainUiClick)
end
function XUiArenaTask:OnBtnBackClick()
self:Close()
end
function XUiArenaTask:OnBtnMainUiClick()
XLuaUiManager.RunMain()
end
--动态列表事件
function XUiArenaTask:OnDynamicTableEvent(event, index, grid)
if event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_ATINDEX then
local data = self.DailyTasks[index]
grid.RootUi = self
grid:ResetData(data)
end
end
function XUiArenaTask:Refresh()
if not self.GameObject:Exist() then
return
end
self.DailyTasks = XDataCenter.TaskManager.GetArenaChallengeTaskList()
self.DynamicTable:SetDataSource(self.DailyTasks)
self.DynamicTable:ReloadDataASync()
end