73 lines
2.2 KiB
Lua
73 lines
2.2 KiB
Lua
|
local XUiPanelApply = XClass(nil, "XUiPanelApply")
|
||
|
|
||
|
local XUiGridArenaTeamApply = require("XUi/XUiArenaTeam/XUiArenaTeamCommon/XUiGridArenaTeamApply")
|
||
|
|
||
|
function XUiPanelApply:Ctor(ui, rootUi)
|
||
|
self.GameObject = ui.gameObject
|
||
|
self.Transform = ui.transform
|
||
|
XTool.InitUiObject(self)
|
||
|
|
||
|
self.GridTeamApply.gameObject:SetActive(false)
|
||
|
|
||
|
self.RootUi = rootUi
|
||
|
self.IsShow = false
|
||
|
self.GameObject:SetActive(false)
|
||
|
|
||
|
self.DynamicTable = XDynamicTableNormal.New(self.SViewSingle.transform)
|
||
|
self.DynamicTable:SetProxy(XUiGridArenaTeamApply)
|
||
|
self.DynamicTable:SetDelegate(self)
|
||
|
end
|
||
|
|
||
|
function XUiPanelApply:Show()
|
||
|
if self.IsShow then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
self.IsShow = true
|
||
|
self.GameObject:SetActive(true)
|
||
|
self.RootUi:PlayAnimation("ApplyQieHuan")
|
||
|
XEventManager.AddEventListener(XEventId.EVENT_ARENA_TEAM_APPLY_CHANGE, self.Refresh, self)
|
||
|
XEventManager.AddEventListener(XEventId.EVENT_ARENA_TEAM_NEW_APPLY_ENTER, self.Refresh, self)
|
||
|
self:Refresh()
|
||
|
end
|
||
|
|
||
|
function XUiPanelApply:Hide()
|
||
|
if not self.IsShow then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
self.IsShow = false
|
||
|
self.GameObject:SetActive(false)
|
||
|
XEventManager.RemoveEventListener(XEventId.EVENT_ARENA_TEAM_APPLY_CHANGE, self.Refresh, self)
|
||
|
XEventManager.RemoveEventListener(XEventId.EVENT_ARENA_TEAM_NEW_APPLY_ENTER, self.Refresh, self)
|
||
|
end
|
||
|
|
||
|
function XUiPanelApply:Refresh()
|
||
|
if not self.GameObject:Exist() then
|
||
|
return
|
||
|
end
|
||
|
|
||
|
local func = function()
|
||
|
self.DataList = XDataCenter.ArenaManager.GetApplyDataList()
|
||
|
self.DynamicTable:SetTotalCount(#self.DataList)
|
||
|
if #self.DataList > 0 then
|
||
|
self.TxtNoApply.gameObject:SetActive(false)
|
||
|
self.DynamicTable:ReloadDataASync(1)
|
||
|
else
|
||
|
self.TxtNoApply.gameObject:SetActive(true)
|
||
|
self.DynamicTable:ReloadDataASync()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
XDataCenter.ArenaManager.RequestApplyData(func)
|
||
|
end
|
||
|
|
||
|
--动态列表事件
|
||
|
function XUiPanelApply:OnDynamicTableEvent(event, index, grid)
|
||
|
if event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_ATINDEX then
|
||
|
local data = self.DataList[index]
|
||
|
grid:ResetData(data, self.RootUi)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return XUiPanelApply
|