ludumdare50/Assets/Scripts/MainMenuManager.cs
2022-04-03 20:26:41 -04:00

50 lines
1.1 KiB
C#

using NaughtyAttributes;
using TMPro;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class MainMenuManager : MonoBehaviour {
public enum MenuMode {
MainMenu,
PauseMenu,
}
[SerializeField] [Required]
TMP_Text titleLabel;
[SerializeField] string[] titleOptions;
[SerializeField] [Required]
Button startButton;
MenuMode mode;
void Awake() => mode = MenuMode.MainMenu;
void Start() {
if (titleOptions.Length == 0) {
Debug.LogWarning("No titles listed.");
return;
}
if (PlayerPrefs.HasKey(GameTimer.HIGH_SCORE_KEY) && PlayerPrefs.GetFloat(GameTimer.HIGH_SCORE_KEY) > 0f)
titleLabel.text = titleOptions[Random.Range(0, titleOptions.Length)];
else
titleLabel.text = titleOptions[0];
}
public void SetMenuMode(MenuMode mode) {
this.mode = mode;
bool mainMenu = mode == MenuMode.MainMenu;
startButton.gameObject.SetActive(mainMenu);
titleLabel.gameObject.SetActive(mainMenu);
}
public void ResetMenuState() {
//TODO Reset selected button
}
public void GoToScene(int sceneNb) => SceneManager.LoadScene(sceneNb);
public void QuitGame() => Application.Quit(0);
}