84 lines
2.4 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|
|
}
|