Fix pause menu

This commit is contained in:
2026-06-07 16:46:23 -07:00
parent 313fbbd759
commit 1ec278d0bb
2 changed files with 11 additions and 7 deletions
+3
View File
@@ -217,6 +217,7 @@ public partial class Game : Node3D, IGame
GameOverMenu.QuitGame += OnQuit; GameOverMenu.QuitGame += OnQuit;
PauseMenu.ExitGamePressed += OnQuit; PauseMenu.ExitGamePressed += OnQuit;
PauseMenu.UnpauseButtonPressed += OnResume;
_doubleExpTimer = new Timer(); _doubleExpTimer = new Timer();
_doubleExpTimer.WaitTime = 30; _doubleExpTimer.WaitTime = 30;
@@ -960,6 +961,8 @@ public partial class Game : Node3D, IGame
private void OnQuit() => GameExitRequested?.Invoke(); private void OnQuit() => GameExitRequested?.Invoke();
private void OnResume() => GameState.Input(new GameState.Input.PauseButtonPressed());
public void OnExitTree() public void OnExitTree()
{ {
InGameUI.UseTeleportPrompt.TeleportToNextFloor -= UseTeleportPrompt_TeleportToNextFloor; InGameUI.UseTeleportPrompt.TeleportToNextFloor -= UseTeleportPrompt_TeleportToNextFloor;
@@ -40,7 +40,12 @@ public partial class PauseMenu : Control, IPauseMenu
} }
private void ExitButton_Pressed() => ExitGamePressed?.Invoke(); private void ExitButton_Pressed() => ExitGamePressed?.Invoke();
private void ResumeButton_Pressed() => FadeOut(); private void ResumeButton_Pressed()
{
FadeOut();
EmitSignal(SignalName.UnpauseButtonPressed);
}
public void FadeIn() public void FadeIn()
{ {
ResumeButton.GrabFocus(); ResumeButton.GrabFocus();
@@ -54,15 +59,11 @@ public partial class PauseMenu : Control, IPauseMenu
AnimationPlayer.Play("fade_out"); AnimationPlayer.Play("fade_out");
} }
public override void _UnhandledInput(InputEvent @event)
{
if (@event.IsActionPressed(GameInputs.Pause))
EmitSignal(SignalName.UnpauseButtonPressed);
}
public void OnAnimationFinished(StringName name) public void OnAnimationFinished(StringName name)
{ {
if (name == "fade_out") if (name == "fade_out")
{
Hide(); Hide();
} }
}
} }