Files
UltimateFishing/Assets/Scripts/Assembly-CSharp/LeaderboardFisheryDropdown.cs
2026-02-21 16:45:37 +08:00

84 lines
2.4 KiB
C#

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class LeaderboardFisheryDropdown : MonoBehaviour
{
private Dropdown dropdown;
private LeaderboardsManager leaderboardsManager;
private LevelsManager levelsManager;
private List<LevelsManager.FisheryDefinition> fisheryDefinitions = new List<LevelsManager.FisheryDefinition>();
private void Start()
{
}
private void OnEnable()
{
InitList();
}
private void InitList()
{
dropdown = base.gameObject.GetComponent<Dropdown>();
leaderboardsManager = LeaderboardsManager.Instance;
levelsManager = GlobalSettings.Instance.levelsManager;
if (!levelsManager)
{
return;
}
dropdown.options.Clear();
dropdown.options.Capacity = 0;
if (fisheryDefinitions.Count == 0)
{
for (int i = 0; i < levelsManager.fisheryDefinitions.Count; i++)
{
if (levelsManager.fisheryDefinitions[i].leaderboardName != string.Empty && levelsManager.fisheryDefinitions[i].leaderboardName != "TODO" && (((bool)levelsManager.fisheryDefinitions[i].isAvailable && (bool)levelsManager.fisheryDefinitions[i].isAvailableFromDLCs) || GlobalSettings.Instance.turnOnMyCheats))
{
fisheryDefinitions.Add(levelsManager.fisheryDefinitions[i]);
}
}
}
dropdown.options.Add(new Dropdown.OptionData(Utilities.GetTranslation("LEADERBOARDS/GLOBAL_LEADERBOARD")));
int value = 0;
for (int j = 0; j < fisheryDefinitions.Count; j++)
{
dropdown.options.Add(new Dropdown.OptionData(Utilities.GetTranslation(fisheryDefinitions[j].name)));
if ((bool)GameController.Instance && levelsManager.GetCurrentFishery() == fisheryDefinitions[j])
{
value = j + 1;
}
}
dropdown.value = value;
dropdown.RefreshShownValue();
UpdateLeaderboardGUI();
}
public void UpdateValue()
{
if ((bool)GlobalSettings.Instance && (bool)leaderboardsManager && (bool)leaderboardsManager.leaderboardGUI)
{
UpdateLeaderboardGUI();
leaderboardsManager.leaderboardGUI.FindLeaderboard();
}
}
private void UpdateLeaderboardGUI()
{
if ((bool)GlobalSettings.Instance && (bool)leaderboardsManager && (bool)leaderboardsManager.leaderboardGUI)
{
if (dropdown.value == 0)
{
leaderboardsManager.leaderboardGUI.currentLeaderboardFishery = ".MAIN.";
}
else
{
leaderboardsManager.leaderboardGUI.currentLeaderboardFishery = fisheryDefinitions[dropdown.value - 1].leaderboardName;
}
}
}
}