This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-05-29 23:40:48 +08:00
parent 0aa0feb6b4
commit edca73daf0

View File

@ -77,12 +77,16 @@ namespace GameLogic
List<PlayRankData> m_PlayRankDataWeek; // 周缓存 List<PlayRankData> m_PlayRankDataWeek; // 周缓存
List<PlayRankData> m_PlayRankDataMonth; // 月缓存 List<PlayRankData> m_PlayRankDataMonth; // 月缓存
List<PlayRankData> m_PlayRankDataJiaZu; // ¼Ò×建´æ
private async Task GetRankData() private async Task GetRankData()
{ {
if (rankType == 1) if (rankType == 1)
{ {
m_loopListView_View.gameObject.SetActive(true);
m_loopListView_JiaZuView.gameObject.SetActive(false);
if (m_PlayRankDataWeek != null && m_PlayRankDataWeek.Count > 0) if (m_PlayRankDataWeek != null && m_PlayRankDataWeek.Count > 0)
{ {
m_PlayRankDatas = m_PlayRankDataWeek; m_PlayRankDatas = m_PlayRankDataWeek;
@ -92,6 +96,9 @@ namespace GameLogic
} }
else if (rankType == 2) else if (rankType == 2)
{ {
m_loopListView_View.gameObject.SetActive(true);
m_loopListView_JiaZuView.gameObject.SetActive(false);
if (m_PlayRankDataMonth != null && m_PlayRankDataMonth.Count > 0) if (m_PlayRankDataMonth != null && m_PlayRankDataMonth.Count > 0)
{ {
m_PlayRankDatas = m_PlayRankDataMonth; m_PlayRankDatas = m_PlayRankDataMonth;
@ -99,6 +106,20 @@ namespace GameLogic
return; return;
} }
} }
else
{
m_loopListView_View.gameObject.SetActive(false);
m_loopListView_JiaZuView.gameObject.SetActive(true);
if (m_PlayRankDataJiaZu != null && m_PlayRankDataJiaZu.Count > 0)
{
m_PlayRankDatas = m_PlayRankDataJiaZu;
RefreshUI();
return;
}
}
// 默认显示周榜 // 默认显示周榜
var data = await DataGameModelManager.Instance.C2S_GetResultRank(rankType); var data = await DataGameModelManager.Instance.C2S_GetResultRank(rankType);
@ -112,6 +133,10 @@ namespace GameLogic
{ {
m_PlayRankDataMonth = m_PlayRankDatas; m_PlayRankDataMonth = m_PlayRankDatas;
} }
else
{
m_PlayRankDataJiaZu = m_PlayRankDatas;
}
RefreshUI(); RefreshUI();
@ -119,7 +144,21 @@ namespace GameLogic
bool isInit = false; bool isInit = false;
bool isJiaZuInit = false;
private void RefreshUI() private void RefreshUI()
{
if (rankType == 3)
{
if (!isJiaZuInit)
{
m_loopListView_JiaZuView.InitListView(m_PlayRankDatas.Count, OnGetItemByIndex);
isJiaZuInit = true;
}
m_loopListView_JiaZuView.SetListItemCount(m_PlayRankDatas.Count);
m_loopListView_JiaZuView.RefreshAllShownItem();
}
else
{ {
if (!isInit) if (!isInit)
{ {
@ -131,6 +170,9 @@ namespace GameLogic
} }
}
LoopListViewItem OnGetItemByIndex(LoopListView listView, int index) LoopListViewItem OnGetItemByIndex(LoopListView listView, int index)
{ {
if (index >= m_PlayRankDatas.Count) if (index >= m_PlayRankDatas.Count)