summaryrefslogtreecommitdiff
path: root/Thronefall_v1.0/Decompile/HighscorePreviewUI.cs
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 += "-";
		}
	}
}