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("/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() { GlobalState.Instance.GotoScene(MainMenuScene); //GetTree().ChangeSceneToFile(MainMenuScene); } }