From aa11b4d5eaaba13d013fa8ef49ad416c76926a29 Mon Sep 17 00:00:00 2001 From: Lncvrt Date: Fri, 6 Jun 2025 15:26:28 -0700 Subject: [PATCH] Add possible error codes to the leaderboards menu --- Assets/Scenes/LeaderboardMenu.unity | 2 +- Assets/Scripts/LeaderboardsMenu.cs | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Assets/Scenes/LeaderboardMenu.unity b/Assets/Scenes/LeaderboardMenu.unity index 71bcde6..59c8ae3 100644 --- a/Assets/Scenes/LeaderboardMenu.unity +++ b/Assets/Scenes/LeaderboardMenu.unity @@ -2933,7 +2933,7 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: content: {fileID: 1097357904} - showAmount: {fileID: 1889805704} + showAmountDropdown: {fileID: 1889805704} statusText: {fileID: 992753025} backButton: {fileID: 376603725} refreshButton: {fileID: 102792769} diff --git a/Assets/Scripts/LeaderboardsMenu.cs b/Assets/Scripts/LeaderboardsMenu.cs index 84781a1..3ddaa63 100644 --- a/Assets/Scripts/LeaderboardsMenu.cs +++ b/Assets/Scripts/LeaderboardsMenu.cs @@ -9,7 +9,7 @@ using UnityEngine.UI; public class LeaderboardsMenu : MonoBehaviour { public GameObject content; - public TMP_Dropdown showAmount; + public TMP_Dropdown showAmountDropdown; public TMP_Text statusText; public Button backButton; public Button refreshButton; @@ -18,7 +18,7 @@ public class LeaderboardsMenu : MonoBehaviour private void Awake() { GetTopPlayers(0); - showAmount.onValueChanged.AddListener(value => + showAmountDropdown.onValueChanged.AddListener(value => { GetTopPlayers(value); }); @@ -28,13 +28,14 @@ public class LeaderboardsMenu : MonoBehaviour }); refreshButton.onClick.AddListener(() => { - GetTopPlayers(showAmount.value); + GetTopPlayers(showAmountDropdown.value); }); } async void GetTopPlayers(int showAmount) { refreshButton.interactable = false; + showAmountDropdown.interactable = false; foreach (Transform item in content.transform) { if (item.gameObject.activeSelf) @@ -53,6 +54,16 @@ public class LeaderboardsMenu : MonoBehaviour { UpdateStatus(false); string response = request.downloadHandler.text; + if (response == "-999") + { + UpdateStatus(true, "Server error while fetching data"); + return; + } + else if (response == "-998") + { + UpdateStatus(true, "Client version too outdated to access servers"); + return; + } var splitResponse = response.Split(';'); for (int i = 0; i < splitResponse.Length; i++) { @@ -102,6 +113,7 @@ public class LeaderboardsMenu : MonoBehaviour UpdateStatus(true, "Failed to fetch leaderboard stats"); } refreshButton.interactable = true; + showAmountDropdown.interactable = true; } private void UpdateStatus(bool enabled, string message = "")