64 lines
No EOL
1.8 KiB
C#
64 lines
No EOL
1.8 KiB
C#
using UnityEngine;
|
|
using UnityEngine.UIElements;
|
|
|
|
/// <summary>
|
|
/// singleton for a single source of truth game state and flow management
|
|
/// </summary>
|
|
public class SideViewUI : MonoBehaviour
|
|
{
|
|
/// <summary>
|
|
/// settings button for showing the settings menu
|
|
/// </summary>
|
|
private Button _accountButton;
|
|
|
|
/// <summary>
|
|
/// leaderboard button for showing the leaderboard
|
|
/// </summary>
|
|
private Button _leaderboardButton;
|
|
|
|
/// <summary>
|
|
/// play button for starting the game
|
|
/// </summary>
|
|
private Button _playButton;
|
|
|
|
/// <summary>
|
|
/// function to subscribe button events to their respective functions
|
|
/// </summary>
|
|
private void OnEnable()
|
|
{
|
|
var ui = GetComponent<UIDocument>().rootVisualElement;
|
|
|
|
_playButton = ui.Q<Button>("PlayButton");
|
|
_playButton.clicked += OnPlayButtonClicked;
|
|
|
|
_leaderboardButton = ui.Q<Button>("LeaderboardButton");
|
|
_leaderboardButton.clicked += OnLeaderboardButtonClicked;
|
|
|
|
_accountButton = ui.Q<Button>("AccountButton");
|
|
_accountButton.clicked += OnAccountButtonClicked;
|
|
}
|
|
|
|
/// <summary>
|
|
/// function to show the play view
|
|
/// </summary>
|
|
private static void OnPlayButtonClicked()
|
|
{
|
|
GameManager.Instance.ui.SetDisplayState(UIManager.DisplayState.PlayView);
|
|
}
|
|
|
|
/// <summary>
|
|
/// function to show the leaderboard view
|
|
/// </summary>
|
|
private static void OnLeaderboardButtonClicked()
|
|
{
|
|
GameManager.Instance.ui.SetDisplayState(UIManager.DisplayState.LeaderboardView);
|
|
}
|
|
|
|
/// <summary>
|
|
/// function to show the account view
|
|
/// </summary>
|
|
private static void OnAccountButtonClicked()
|
|
{
|
|
GameManager.Instance.ui.SetDisplayState(UIManager.DisplayState.AccountView);
|
|
}
|
|
} |