This repository has been archived on 2025-06-18. You can view files and clone it, but cannot push or open issues or pull requests.
Files
skolavdf/phr/StickGame/Assets/UI/GameMenu.cs
2024-03-24 22:21:16 +01:00

66 lines
2.0 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class GameMenu : VisualElement
{
[UnityEngine.Scripting.Preserve]
public new class UxmlFactory : UxmlFactory<GameMenu> { }
const string defaultStyleSheetPath = "Default";
const string ussGameContainer = "GameMenuContainer";
public Label label = new Label() { text = "Game Menu" };
public Button buttonResume = new AButton() { text = "Resume" };
public Button buttonSettings = new AButton() { text = "Settings" };
public Button buttonMainMenu = new AButton() { text = "MainMenu" };
public Button buttonQuit = new AButton() { text = "Quit" };
public GameMenu()
{
styleSheets.Add(Resources.Load<StyleSheet>(defaultStyleSheetPath));
VisualElement menuContainer = new VisualElement();
AddToClassList(ussGameContainer);
buttonResume.clicked += ButtonResumeClicked;
buttonSettings.clicked += ButtonSettingsClicked;
buttonMainMenu.clicked += ButtonMainMenuClicked;
buttonQuit.clicked += ButtonQuitClicked;
menuContainer.Add(label);
menuContainer.Add(buttonResume);
menuContainer.Add(buttonSettings);
menuContainer.Add(buttonMainMenu);
menuContainer.Add(buttonQuit);
Add(menuContainer);
}
public event Action OnButtonResumeClicked;
public event Action OnButtonSettingsClicked;
public event Action OnButtonMainMenuClicked;
public event Action OnButtonQuitClicked;
private void ButtonResumeClicked()
{
OnButtonResumeClicked?.Invoke();
}
private void ButtonSettingsClicked()
{
OnButtonSettingsClicked?.Invoke();
}
private void ButtonMainMenuClicked()
{
OnButtonMainMenuClicked?.Invoke();
}
private void ButtonQuitClicked()
{
OnButtonQuitClicked?.Invoke();
}
}