diff --git a/Zennysoft.Game.Ma/src/game/Game.cs b/Zennysoft.Game.Ma/src/game/Game.cs index 90fe00e6..b0a4e8dd 100644 --- a/Zennysoft.Game.Ma/src/game/Game.cs +++ b/Zennysoft.Game.Ma/src/game/Game.cs @@ -217,6 +217,7 @@ public partial class Game : Node3D, IGame GameOverMenu.QuitGame += OnQuit; PauseMenu.ExitGamePressed += OnQuit; + PauseMenu.UnpauseButtonPressed += OnResume; _doubleExpTimer = new Timer(); _doubleExpTimer.WaitTime = 30; @@ -960,6 +961,8 @@ public partial class Game : Node3D, IGame private void OnQuit() => GameExitRequested?.Invoke(); + private void OnResume() => GameState.Input(new GameState.Input.PauseButtonPressed()); + public void OnExitTree() { InGameUI.UseTeleportPrompt.TeleportToNextFloor -= UseTeleportPrompt_TeleportToNextFloor; diff --git a/Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs b/Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs index 5220072b..d797c45c 100644 --- a/Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs +++ b/Zennysoft.Game.Ma/src/ui/pause_menu/PauseMenu.cs @@ -40,7 +40,12 @@ public partial class PauseMenu : Control, IPauseMenu } private void ExitButton_Pressed() => ExitGamePressed?.Invoke(); - private void ResumeButton_Pressed() => FadeOut(); + private void ResumeButton_Pressed() + { + FadeOut(); + EmitSignal(SignalName.UnpauseButtonPressed); + } + public void FadeIn() { ResumeButton.GrabFocus(); @@ -54,15 +59,11 @@ public partial class PauseMenu : Control, IPauseMenu AnimationPlayer.Play("fade_out"); } - public override void _UnhandledInput(InputEvent @event) - { - if (@event.IsActionPressed(GameInputs.Pause)) - EmitSignal(SignalName.UnpauseButtonPressed); - } - public void OnAnimationFinished(StringName name) { if (name == "fade_out") + { Hide(); + } } }