Fix GetTopPlayers() being called 2x when going to berry menu with something other than normal berry selected

This commit is contained in:
2026-02-02 14:34:49 -07:00
parent 1ba758f235
commit 20ad74ec82

View File

@@ -26,6 +26,7 @@ public class LeaderboardsMenu : MonoBehaviour
[SerializeField] private TMP_Dropdown berryShowTypeDropdown; [SerializeField] private TMP_Dropdown berryShowTypeDropdown;
private int mode = -1; private int mode = -1;
private bool changedByCode = false;
void Awake() void Awake()
{ {
@@ -70,7 +71,9 @@ public class LeaderboardsMenu : MonoBehaviour
refreshButton.transform.localPosition = mode == 1 ? new Vector2(402.5f, 282.33f) : new Vector2(-402.5f, -282.33f); refreshButton.transform.localPosition = mode == 1 ? new Vector2(402.5f, 282.33f) : new Vector2(-402.5f, -282.33f);
refreshButton.gameObject.SetActive(true); refreshButton.gameObject.SetActive(true);
berryShowTypeDropdown.gameObject.SetActive(mode == 1); berryShowTypeDropdown.gameObject.SetActive(mode == 1);
changedByCode = true;
berryShowTypeDropdown.value = 0; berryShowTypeDropdown.value = 0;
changedByCode = false;
selectionPanel.SetActive(false); selectionPanel.SetActive(false);
scoresPanel.SetActive(true); scoresPanel.SetActive(true);
GetTopPlayers(); GetTopPlayers();
@@ -79,6 +82,7 @@ public class LeaderboardsMenu : MonoBehaviour
async void GetTopPlayers() async void GetTopPlayers()
{ {
if (changedByCode) return;
backButton.interactable = false; backButton.interactable = false;
refreshButton.interactable = false; refreshButton.interactable = false;
foreach (Transform item in content.transform) foreach (Transform item in content.transform)