using Content.Client.Options.UI; using JetBrains.Annotations; using Robust.Client.State; using Robust.Client.UserInterface.Controllers; namespace Content.Client.UserInterface.Systems.EscapeMenu; [UsedImplicitly] public sealed class OptionsUIController : UIController { private OptionsMenu _optionsWindow = default!; private void EnsureWindow() { if (_optionsWindow is { Disposed: false }) return; _optionsWindow = UIManager.CreateWindow(); } public void OpenWindow() { EnsureWindow(); _optionsWindow.OpenCentered(); _optionsWindow.MoveToFront(); } public void ToggleWindow() { EnsureWindow(); if (_optionsWindow.IsOpen) { _optionsWindow.Close(); } else { OpenWindow(); } } }