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);