cirnogodot/Scripts/UI/PauseMenu.cs
2025-02-19 15:45:21 +01:00

52 lines
No EOL
1.2 KiB
C#

using Godot;
namespace Cirno.Scripts.UI;
public partial class PauseMenu : Control
{
[ExportGroup("Scenes")]
[Export]
public string MainMenuScene { get; private set; }
[ExportGroup("Buttons")]
[Export]
public Button ResumeButton { get; private set; }
[ExportGroup("Buttons")]
[Export]
public Button QuitButton { get; private set; }
[ExportGroup("Buttons")]
[Export]
public Button OptionsButton { get; private set; }
[ExportGroup("Buttons")]
[Export]
public Button DebugButton { get; private set; }
private GameManager _gameManager;
[Signal]
public delegate void SpawnDebugMenuEventHandler();
public override void _Ready()
{
_gameManager = GetNode<GameManager>("/root/GameScene");
ResumeButton.Pressed += ResumeButtonOnPressed;
QuitButton.Pressed += QuitButtonOnPressed;
DebugButton.Pressed += DebugButtonOnPressed;
}
private void DebugButtonOnPressed()
{
EmitSignal(SignalName.SpawnDebugMenu);
}
private void ResumeButtonOnPressed()
{
_gameManager.Unpause();
}
private void QuitButtonOnPressed()
{
GetTree().ChangeSceneToFile(MainMenuScene);
}
}