From 58a10a1057aa974ad994fb6a9391938cea807097 Mon Sep 17 00:00:00 2001 From: YiHan0621 <2857295085@qq.com> Date: Tue, 2 Sep 2025 10:43:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=A9=E6=A2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TcgEngine/Scripts/Menu/LadderRankLine.cs | 2 +- .../TcgEngine/Scripts/Menu/LeaderboardPanel.cs | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Assets/TcgEngine/Scripts/Menu/LadderRankLine.cs b/Assets/TcgEngine/Scripts/Menu/LadderRankLine.cs index c3c61d2..ee56c7b 100644 --- a/Assets/TcgEngine/Scripts/Menu/LadderRankLine.cs +++ b/Assets/TcgEngine/Scripts/Menu/LadderRankLine.cs @@ -73,7 +73,7 @@ namespace TcgEngine.UI break; } - if (rankScore == 0) + if (rankScore != 0) { this.rankScore.gameObject.SetActive(true); this.stars.gameObject.SetActive(false); diff --git a/Assets/TcgEngine/Scripts/Menu/LeaderboardPanel.cs b/Assets/TcgEngine/Scripts/Menu/LeaderboardPanel.cs index 66750cb..3e85c54 100644 --- a/Assets/TcgEngine/Scripts/Menu/LeaderboardPanel.cs +++ b/Assets/TcgEngine/Scripts/Menu/LeaderboardPanel.cs @@ -35,6 +35,8 @@ namespace TcgEngine.UI public List lines = new List(); public List ladderLines = new List(); + + private const string DefaultAvatarId = "bear"; private static LeaderboardPanel instance; @@ -215,6 +217,7 @@ namespace TcgEngine.UI int previous_rank = 0; int previous_index = 0; + if (users == null || users.Length == 0) { @@ -228,7 +231,7 @@ namespace TcgEngine.UI { if (rankData.username == udata.username) { - my_ladderLine.SetLine(rankData, index + 1, null, rankData.rankId, + my_ladderLine.SetLine(rankData, index + 1, GetAvatar(udata.avatar), rankData.rankId, rankData.rankScore, rankData.stars, true); } @@ -236,8 +239,8 @@ namespace TcgEngine.UI { LadderRankLine line = ladderLines[index]; int rank_order = (previous_rank == rankData.position) ? previous_index : index; - line.SetLine(rankData, rank_order + 1,null, rankData.rankId, - rankData.rankScore, rankData.stars, true); + line.SetLine(rankData, rank_order + 1,GetAvatar(rankData.avatar), rankData.rankId, + rankData.rankScore, rankData.stars, false); previous_rank = rankData.position; previous_index = rank_order; } @@ -284,6 +287,15 @@ namespace TcgEngine.UI } + + private Sprite GetAvatar(string id) + { + string targetId = string.IsNullOrEmpty(id) ? DefaultAvatarId : id; + AvatarData avaData = AvatarData.Get(targetId); + return avaData != null ? avaData.GetAvatar() : null; + } + + public override void Show(bool instant = false) { base.Show(instant);