local XUiFubenMaverickRank = XLuaUiManager.Register(XLuaUi, "UiFubenMaverickRank") local XUiFubenMaverickRankGrid = require("XUi/XUiFubenMaverick/XUiGrid/XUiFubenMaverickRankGrid") function XUiFubenMaverickRank:OnAwake() self:InitTexts() self:InitButtons() self:InitRankEntity() self:InitPanelAssets() end function XUiFubenMaverickRank:OnStart() --Start时初始化界面为空 self:Refresh() self:SetAutoCloseInfo(XDataCenter.MaverickManager.GetEndTime(), function(isClose) if isClose then XDataCenter.MaverickManager.EndActivity() end end, nil , 0) end function XUiFubenMaverickRank:OnEnable() self.Super.OnEnable(self) XDataCenter.MaverickManager.GetRankData(function(data) self.MyRankData = data.MyRankData self.RankListData = data.RankListData self.MaxRankCount = data.MaxRankCount self:Refresh() end) end function XUiFubenMaverickRank:Refresh() self.MyGridRank:Refresh(self.MyRankData) self.DynamicTable:SetDataSource(self.RankListData) self.DynamicTable:ReloadDataSync() self.PanelNoRank.gameObject:SetActiveEx(XTool.IsTableEmpty(self.RankListData)) end function XUiFubenMaverickRank:InitRankEntity() self.MyGridRank = XUiFubenMaverickRankGrid.New(self.GridMyRank) self.MyGridRank.IsMyself = true self.MyGridRank.RootUi = self self.DynamicTable = XDynamicTableNormal.New(self.RankList) self.DynamicTable:SetProxy(XUiFubenMaverickRankGrid) self.DynamicTable:SetDelegate(self) self.GridRank.gameObject:SetActiveEx(false) end function XUiFubenMaverickRank:InitButtons() self:BindHelpBtn(self.BtnHelp, "MaverickHelp") self.BtnBack.CallBack = function() self:Close() end self.BtnMainUi.CallBack = function() XLuaUiManager.RunMain() end end function XUiFubenMaverickRank:InitTexts() self.TxtTisp.text = CSXTextManagerGetText("MaverickRankTip") self.TxtRankCount.text = "TOP" .. XDataCenter.MaverickManager.RankTopCount end function XUiFubenMaverickRank:InitPanelAssets() XUiPanelAsset.New(self, self.PanelAsset, XDataCenter.ItemManager.ItemId.FreeGem, XDataCenter.ItemManager.ItemId.ActionPoint, XDataCenter.ItemManager.ItemId.Coin) end function XUiFubenMaverickRank:OnDynamicTableEvent(event, index, grid) if event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_INIT then grid.RootUi = self elseif event == DYNAMIC_DELEGATE_EVENT.DYNAMIC_GRID_ATINDEX then grid:Refresh(self.RankListData[index]) end end