Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit b101e88

Browse files
authoredMar 11, 2025
Merge pull request #3 from Kilandor/main
Add Support for showing user's color on leaderboard
2 parents 615fe55 + 3e630a0 commit b101e88

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed
 

‎Leaderboard/OfflineLeaderboardTab.cs

+8-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using ZeepSDK.External.FluentResults;
99
using ZeepSDK.Leaderboard.Pages;
1010
using ZeepSDK.Level;
11+
using ZeepSDK.Utilities;
1112

1213
namespace TNRD.Zeepkist.GTR.Leaderboard;
1314

@@ -126,7 +127,13 @@ protected override void OnDrawItem(GUI_OnlineLeaderboardPosition gui, Leaderboar
126127
gui.favoriteButton.gameObject.SetActive(true);
127128
gui.isFavorite = _offlineGhostsService.ContainsAdditionalGhost(item.SteamId);
128129
gui.RedrawFavoriteImage();
129-
gui.player_name.text = $"<link=\"{item.SteamId}\">{item.SteamName}</link>";
130+
if (PlayerManager.Instance.steamAchiever && PlayerManager.Instance.steamAchiever.GetPlayerSteamID().ToString() == item.SteamId)
131+
{
132+
string playerColor = UnityEngine.ColorUtility.ToHtmlStringRGB(PlayerManager.Instance.GetChatColor());
133+
gui.player_name.text = $"<color=#{playerColor}><link=\"{item.SteamId}\">{item.SteamName}</link></color>";
134+
}
135+
else
136+
gui.player_name.text = $"<link=\"{item.SteamId}\">{item.SteamName}</link>";
130137
gui.time.text = item.Time.GetFormattedTime();
131138

132139
int placementPoints = Math.Max(0, Count - index);

‎Leaderboard/OnlineLeaderboardTab.cs

+19-1
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
using System.Collections.Generic;
33
using System.Threading;
44
using TNRD.Zeepkist.GTR.Messaging;
5+
using ZeepkistClient;
56
using ZeepSDK.External.Cysharp.Threading.Tasks;
67
using ZeepSDK.External.FluentResults;
78
using ZeepSDK.Level;
9+
using ZeepSDK.Utilities;
810

911
namespace TNRD.Zeepkist.GTR.Leaderboard;
1012

@@ -75,11 +77,27 @@ private async UniTaskVoid LoadRecords(CancellationToken ct = default)
7577

7678
protected override void OnDrawItem(GUI_OnlineLeaderboardPosition gui, LeaderboardRecord item, int index)
7779
{
80+
ZeepkistNetwork.TryGetPlayer( Convert.ToUInt64(item.SteamId), out gui.thePlayer);
81+
7882
gui.position.gameObject.SetActive(true);
7983
gui.position.text = (index + 1).ToString();
8084
gui.position.color = PlayerManager.Instance.GetColorFromPosition(index + 1);
8185
gui.favoriteButton.gameObject.SetActive(false);
82-
gui.player_name.text = $"<link=\"{item.SteamId}\">{item.SteamName}</link>";
86+
UnityEngine.ColorUtility.ToHtmlStringRGB(PlayerManager.Instance.GetChatColor());
87+
88+
if (ZeepkistNetwork.LocalPlayer.SteamID.ToString() == item.SteamId)
89+
{
90+
string playerColor = UnityEngine.ColorUtility.ToHtmlStringRGB(ZeepkistNetwork.LocalPlayer.chatColor);
91+
gui.player_name.text = $"<color=#{playerColor}><link=\"{item.SteamId}\">{item.SteamName}</link></color>";
92+
}
93+
else if (gui.thePlayer != null && gui.thePlayer.SteamID.ToString() == item.SteamId)
94+
{
95+
string playerColor = UnityEngine.ColorUtility.ToHtmlStringRGB(gui.thePlayer.chatColor);
96+
gui.player_name.text = $"<color=#{playerColor}><link=\"{item.SteamId}\">{item.SteamName}</link></color>";
97+
}
98+
else
99+
gui.player_name.text = $"<link=\"{item.SteamId}\">{item.SteamName}</link>";
100+
83101
gui.time.text = item.Time.GetFormattedTime();
84102

85103
int placementPoints = Math.Max(0, Count - index);

0 commit comments

Comments
 (0)
Please sign in to comment.