1
0

ChangelogUIController.cs 891 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Content.Client.Changelog;
  2. using JetBrains.Annotations;
  3. using Robust.Client.State;
  4. using Robust.Client.UserInterface.Controllers;
  5. namespace Content.Client.UserInterface.Systems.EscapeMenu;
  6. [UsedImplicitly]
  7. public sealed class ChangelogUIController : UIController
  8. {
  9. private ChangelogWindow _changeLogWindow = default!;
  10. public void OpenWindow()
  11. {
  12. EnsureWindow();
  13. _changeLogWindow.OpenCentered();
  14. _changeLogWindow.MoveToFront();
  15. }
  16. private void EnsureWindow()
  17. {
  18. if (_changeLogWindow is { Disposed: false })
  19. return;
  20. _changeLogWindow = UIManager.CreateWindow<ChangelogWindow>();
  21. }
  22. public void ToggleWindow()
  23. {
  24. EnsureWindow();
  25. if (_changeLogWindow.IsOpen)
  26. {
  27. _changeLogWindow.Close();
  28. }
  29. else
  30. {
  31. OpenWindow();
  32. }
  33. }
  34. }