Add PauseManager functionality; implement pause menu and toggle logic

This commit is contained in:
2025-08-23 23:09:07 +02:00
parent 7e8ccb061a
commit c0d18507e3
4 changed files with 82 additions and 1 deletions

View File

@@ -0,0 +1,29 @@
using Godot;
namespace ParasiticGod.Scripts.Components;
[GlobalClass]
public partial class PauseManager : CanvasLayer
{
[Export] private Button _pauseButton;
[Export] private Control _pauseMenu;
public override void _Ready()
{
ProcessMode = ProcessModeEnum.Always;
_pauseMenu.Hide();
_pauseButton.Pressed += TogglePause;
}
public override void _Input(InputEvent @event)
{
if (@event.IsActionPressed("pause")) TogglePause();
}
private void TogglePause()
{
var isPaused = !GetTree().Paused;
GetTree().Paused = isPaused;
_pauseMenu.Visible = isPaused;
}
}