Files
FueraDeEscala/Assets/Game/Menus/MainMenu/MainMenuController.cs

66 lines
1.8 KiB
C#
Raw Normal View History

using UnityEngine;
using UnityEngine.UIElements;
using UnityEngine.SceneManagement;
public class MainMenuController : MonoBehaviour
{
private UIDocument _doc;
private Button _playButton;
private Button _settingsButton;
private Button _exitButton;
[Header("Sonidos del Menú")]
public AudioClip hoverSound;
public AudioClip clickSound;
private AudioSource _audioSource;
private void Awake()
{
_doc = GetComponent<UIDocument>();
var root = _doc.rootVisualElement;
_audioSource = gameObject.AddComponent<AudioSource>();
_playButton = root.Q<Button>("BtnPlay");
_settingsButton = root.Q<Button>("BtnSettings");
_exitButton = root.Q<Button>("BtnExit");
_playButton.clicked += OnPlayClicked;
_settingsButton.clicked += OnSettingsClicked;
_exitButton.clicked += OnExitClicked;
_playButton.RegisterCallback<PointerEnterEvent>(OnButtonHover);
_settingsButton.RegisterCallback<PointerEnterEvent>(OnButtonHover);
_exitButton.RegisterCallback<PointerEnterEvent>(OnButtonHover);
}
private void OnButtonHover(PointerEnterEvent evt)
{
if (hoverSound != null) _audioSource.PlayOneShot(hoverSound);
}
private void PlayClickSound()
{
if (clickSound != null) _audioSource.PlayOneShot(clickSound);
}
private void OnPlayClicked()
{
PlayClickSound();
Debug.Log("¡BWAAAH! Iniciando juego...");
// SceneManager.LoadScene("GameScene");
}
private void OnSettingsClicked()
{
PlayClickSound();
Debug.Log("Abriendo ajustes...");
}
private void OnExitClicked()
{
PlayClickSound();
Debug.Log("Saliendo...");
Application.Quit();
}
}