using System.Collections.Generic; using I2.Loc; using Steamworks; using TMPro; using UnityEngine; public class HighscorePreviewUI : MonoBehaviour { public TMP_Text highscore; public TMP_Text friendsRank; private bool subscribedToSteamManager; private readonly string lightTextCue = ""; private void OnEnable() { int highscoreBest = LevelProgressManager.instance.GetLevelDataForScene(LevelInteractor.lastActivatedLevelInteractor.sceneName).highscoreBest; string text = ((highscoreBest != 0) ? highscoreBest.ToString() : "-"); highscore.text = LocalizationManager.GetTranslation("Menu/Highscore") + ": " + lightTextCue + text; friendsRank.text = LocalizationManager.GetTranslation("Menu/Friends Rank") + ": " + lightTextCue + "-"; SubscribeToSteamManger(); SteamManager.Instance.DownloadFriendsHighscores(LevelInteractor.lastActivatedLevelInteractor.sceneName); } private void SubscribeToSteamManger() { if (!subscribedToSteamManager) { SteamManager.Instance.OnLeaderboardDownloadCallbackComplete.AddListener(RefreshUI); subscribedToSteamManager = true; } } public void RefreshUI() { friendsRank.text = LocalizationManager.GetTranslation("Menu/Friends Rank") + ": " + lightTextCue; List lastDownloadedLeaderboardEntires = SteamManager.Instance.lastDownloadedLeaderboardEntires; if (lastDownloadedLeaderboardEntires.Count > 0) { int num = 0; int num2 = 1; foreach (SteamManager.LeaderboardEntry item in lastDownloadedLeaderboardEntires) { if (item.username == SteamFriends.GetPersonaName()) { num = num2; break; } num2++; } if (num == 0) { friendsRank.text += "-"; return; } TMP_Text tMP_Text = friendsRank; tMP_Text.text = tMP_Text.text + "#" + num; } else { friendsRank.text += "-"; } } }