using Godot; namespace Game.Godot; public static class MouseCapture { public static bool IsCaptured => Input.MouseMode == Input.MouseModeEnum.Captured; public static void Capture() => Input.MouseMode = Input.MouseModeEnum.Captured; public static void Release() => Input.MouseMode = Input.MouseModeEnum.Visible; public static void Toggle() { if (IsCaptured) { Release(); } else { Capture(); } } public static Memento SaveCaptureMode() { Memento memento = new(IsCaptured); Release(); return memento; } public sealed class Memento(bool wasCaptured) { public void RestoreCaptureMode() { if (wasCaptured) { Capture(); } } } }