修复排行榜没数据的问题

This commit is contained in:
DESKTOP-SAJ6RKV\Administrator 2025-05-19 23:28:48 +08:00
parent 33bf2af016
commit 40aea0d60a
5 changed files with 570 additions and 77 deletions

File diff suppressed because one or more lines are too long

View File

@ -507,7 +507,7 @@ RectTransform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 1, y: 1} m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0.00038004026, y: -0.0020345359} m_AnchoredPosition: {x: 0.00038004026, y: -0.00064965757}
m_SizeDelta: {x: 0, y: 1292.4} m_SizeDelta: {x: 0, y: 1292.4}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0, y: 1}
--- !u!114 &6944785608262845692 --- !u!114 &6944785608262845692
@ -648,6 +648,7 @@ RectTransform:
- {fileID: 7924596172304749232} - {fileID: 7924596172304749232}
- {fileID: 2669978239474154758} - {fileID: 2669978239474154758}
- {fileID: 8582991567433281135} - {fileID: 8582991567433281135}
- {fileID: 1290729932463348030}
m_Father: {fileID: 2437165979603071288} m_Father: {fileID: 2437165979603071288}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0, y: 1}
@ -686,6 +687,7 @@ MonoBehaviour:
m_PlayerName: {fileID: 7363701821129859374} m_PlayerName: {fileID: 7363701821129859374}
m_Score: {fileID: 6758929203519133182} m_Score: {fileID: 6758929203519133182}
m_GongXian: {fileID: 7943501947076435089} m_GongXian: {fileID: 7943501947076435089}
m_RankInde: {fileID: 1897737020224266078}
--- !u!1 &1681518453653186886 --- !u!1 &1681518453653186886
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3110,6 +3112,140 @@ MonoBehaviour:
y: 0 y: 0
width: 1 width: 1
height: 1 height: 1
--- !u!1 &7639725843136282346
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1290729932463348030}
- component: {fileID: 3576343088746128615}
- component: {fileID: 1897737020224266078}
m_Layer: 5
m_Name: m_tmp_RankIndex (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1290729932463348030
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7639725843136282346}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1.5, y: 1.5, z: 1.5}
m_ConstrainProportionsScale: 1
m_Children: []
m_Father: {fileID: 826311576916127066}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: -377, y: 1}
m_SizeDelta: {x: 107.9163, y: 39.4938}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &3576343088746128615
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7639725843136282346}
m_CullTransparentMesh: 1
--- !u!114 &1897737020224266078
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 7639725843136282346}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_text: 100
m_isRightToLeft: 0
m_fontAsset: {fileID: 11400000, guid: 61e28618d002ac7488fba94aea6f8607, type: 2}
m_sharedMaterial: {fileID: 1928963831957525247, guid: 61e28618d002ac7488fba94aea6f8607, type: 2}
m_fontSharedMaterials: []
m_fontMaterial: {fileID: 0}
m_fontMaterials: []
m_fontColor32:
serializedVersion: 2
rgba: 4285587198
m_fontColor: {r: 0.9960785, g: 0.8705883, b: 0.43921572, a: 1}
m_enableVertexGradient: 0
m_colorMode: 3
m_fontColorGradient:
topLeft: {r: 1, g: 1, b: 1, a: 1}
topRight: {r: 1, g: 1, b: 1, a: 1}
bottomLeft: {r: 1, g: 1, b: 1, a: 1}
bottomRight: {r: 1, g: 1, b: 1, a: 1}
m_fontColorGradientPreset: {fileID: 0}
m_spriteAsset: {fileID: 0}
m_tintAllSprites: 0
m_StyleSheet: {fileID: 0}
m_TextStyleHashCode: -1183493901
m_overrideHtmlColors: 0
m_faceColor:
serializedVersion: 2
rgba: 4294967295
m_fontSize: 36
m_fontSizeBase: 36
m_fontWeight: 400
m_enableAutoSizing: 0
m_fontSizeMin: 18
m_fontSizeMax: 72
m_fontStyle: 0
m_HorizontalAlignment: 2
m_VerticalAlignment: 512
m_textAlignment: 65535
m_characterSpacing: 0
m_wordSpacing: 0
m_lineSpacing: 0
m_lineSpacingMax: 0
m_paragraphSpacing: 0
m_charWidthMaxAdj: 0
m_enableWordWrapping: 1
m_wordWrappingRatios: 0.4
m_overflowMode: 0
m_linkedTextComponent: {fileID: 0}
parentLinkedComponent: {fileID: 0}
m_enableKerning: 1
m_enableExtraPadding: 0
checkPaddingRequired: 0
m_isRichText: 1
m_parseCtrlCharacters: 1
m_isOrthographic: 1
m_isCullingEnabled: 0
m_horizontalMapping: 0
m_verticalMapping: 0
m_uvLineOffset: 0
m_geometrySortingOrder: 0
m_IsTextObjectScaleStatic: 0
m_VertexBufferAutoSizeReduction: 0
m_useMaxVisibleDescender: 1
m_pageToDisplay: 1
m_margin: {x: 0, y: 0, z: 0, w: 0}
m_isUsingLegacyAnimationComponent: 0
m_isVolumetricText: 0
m_hasFontAssetChanged: 0
m_baseMaterial: {fileID: 0}
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
--- !u!1 &7802455592168755524 --- !u!1 &7802455592168755524
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -87,18 +87,9 @@ namespace GameLogic
GameModule.UI.ShowUI<UISettingForm>(); GameModule.UI.ShowUI<UISettingForm>();
} }
private async void OnClick_GameRankBtn() private void OnClick_GameRankBtn()
{ {
// 默认请求周排行榜数据 GameModule.UI.ShowUI<UIGameWorldRankForm>();
List<PlayRankData> playRankDatas = await DataGameModelManager.Instance.C2S_GetResultRank(1);
if (playRankDatas != null)
{
// 整理参数传进来
object[] objects = new object[2];
objects[0] = GameRankType.;
objects[1] = playRankDatas;
GameModule.UI.ShowUI<UIGameRankForm>(objects);
}
} }
#endregion #endregion

View File

@ -69,28 +69,65 @@ namespace GameLogic
{ {
base.OnCreate(); base.OnCreate();
m_loopListView_View.InitListView(0, OnGetItemByIndex);
GetRankData(); GetRankData();
} }
List<PlayRankData> m_PlayRankDatas; List<PlayRankData> m_PlayRankDatas; //默认显示数据
List<PlayRankData> m_PlayRankDataWeek; // 周缓存
List<PlayRankData> m_PlayRankDataMonth; // 月缓存
private async Task GetRankData() private async Task GetRankData()
{ {
if (rankType == 1)
{
if (m_PlayRankDataWeek != null && m_PlayRankDataWeek.Count > 0)
{
m_PlayRankDatas = m_PlayRankDataWeek;
RefreshUI();
return;
}
}
else if (rankType == 2)
{
if (m_PlayRankDataMonth != null && m_PlayRankDataMonth.Count > 0)
{
m_PlayRankDatas = m_PlayRankDataMonth;
RefreshUI();
return;
}
}
// ĬÈÏÏÔʾÖܰñ // ĬÈÏÏÔʾÖܰñ
var data = await DataGameModelManager.Instance.C2S_GetResultRank(rankType); var data = await DataGameModelManager.Instance.C2S_GetResultRank(rankType);
m_PlayRankDatas = data; m_PlayRankDatas = data;
if (rankType == 1)
{
m_PlayRankDataWeek = m_PlayRankDatas;
}
else if (rankType == 2)
{
m_PlayRankDataMonth = m_PlayRankDatas;
}
RefreshUI(); RefreshUI();
} }
bool isInit = false;
private void RefreshUI() private void RefreshUI()
{ {
if (!isInit)
{
m_loopListView_View.InitListView(m_PlayRankDatas.Count, OnGetItemByIndex);
isInit = true;
}
m_loopListView_View.SetListItemCount(m_PlayRankDatas.Count); m_loopListView_View.SetListItemCount(m_PlayRankDatas.Count);
m_loopListView_View.RefreshAllShownItem(); m_loopListView_View.RefreshAllShownItem();
} }
@ -102,22 +139,17 @@ namespace GameLogic
{ {
return null; return null;
} }
if (m_PlayRankDatas[index] == null) if (m_PlayRankDatas[index] == null)
{ {
return null; return null;
} }
UnitPlayerData unitData = DataGameSceneManager.Instance.GetUnitPlayerData(m_PlayRankDatas[index].uid);
if (unitData == null)
{
return null;
}
LoopListViewItem item = listView.AllocOrNewListViewItem("RankItem"); LoopListViewItem item = listView.AllocOrNewListViewItem("RankItem");
UIGameWorldRankItem itemScript = item.GetComponent<UIGameWorldRankItem>(); UIGameWorldRankItem itemScript = item.GetComponent<UIGameWorldRankItem>();
itemScript.OnInit(index, m_PlayRankDatas[index], unitData); itemScript.OnInit(index, m_PlayRankDatas[index]);
return item; return item;
} }

View File

@ -15,8 +15,9 @@ namespace GameLogic
public TextMeshProUGUI m_PlayerName; public TextMeshProUGUI m_PlayerName;
public TextMeshProUGUI m_Score; public TextMeshProUGUI m_Score;
public TextMeshProUGUI m_GongXian; public TextMeshProUGUI m_GongXian;
public TextMeshProUGUI m_RankInde;
public void OnInit(int i, PlayRankData playRankData, UnitPlayerData unitPlayer) public void OnInit(int i, PlayRankData playRankData)
{ {
m_PlayerName.text = playRankData.name; m_PlayerName.text = playRankData.name;
@ -24,9 +25,18 @@ namespace GameLogic
if (i < 3) if (i < 3)
{ {
m_RankImg.gameObject.SetActive(true);
m_RankInde.gameObject.SetActive(false);
m_RankImg.sprite = GameModule.Resource.LoadAsset<Sprite>((i + 1).ToString() + "_d" + (i + 1).ToString()); m_RankImg.sprite = GameModule.Resource.LoadAsset<Sprite>((i + 1).ToString() + "_d" + (i + 1).ToString());
m_Bg.sprite = GameModule.Resource.LoadAsset<Sprite>((i + 1).ToString() + "_d"); m_Bg.sprite = GameModule.Resource.LoadAsset<Sprite>((i + 1).ToString() + "_d");
} }
else
{
m_Bg.sprite = GameModule.Resource.LoadAsset<Sprite>((4).ToString() + "_d");
m_RankInde.text = (i + 1).ToString();
m_RankInde.gameObject.SetActive(true);
m_RankImg.gameObject.SetActive(false);
}
// »ý·Ö // »ý·Ö
m_Score.text = UITool.ConvertToString(playRankData.weekScore); m_Score.text = UITool.ConvertToString(playRankData.weekScore);