blob: d8983f9cf95219ae3f4a0feb61959f8ccfb43106 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
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 = "<style=Body Light>";
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<SteamManager.LeaderboardEntry> 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 += "-";
}
}
}
|