GameTopMenuBarUIController.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Content.Client.UserInterface.Systems.Actions;
  2. using Content.Client.UserInterface.Systems.Admin;
  3. using Content.Client.UserInterface.Systems.Bwoink;
  4. using Content.Client.UserInterface.Systems.Character;
  5. using Content.Client.UserInterface.Systems.Crafting;
  6. using Content.Client.UserInterface.Systems.Emotes;
  7. using Content.Client.UserInterface.Systems.EscapeMenu;
  8. using Content.Client.UserInterface.Systems.Gameplay;
  9. using Content.Client.UserInterface.Systems.Guidebook;
  10. using Content.Client.UserInterface.Systems.MenuBar.Widgets;
  11. using Content.Client.UserInterface.Systems.Sandbox;
  12. using Robust.Client.UserInterface.Controllers;
  13. namespace Content.Client.UserInterface.Systems.MenuBar;
  14. public sealed class GameTopMenuBarUIController : UIController
  15. {
  16. [Dependency] private readonly EscapeUIController _escape = default!;
  17. [Dependency] private readonly AdminUIController _admin = default!;
  18. [Dependency] private readonly CharacterUIController _character = default!;
  19. [Dependency] private readonly CraftingUIController _crafting = default!;
  20. [Dependency] private readonly AHelpUIController _ahelp = default!;
  21. [Dependency] private readonly ActionUIController _action = default!;
  22. [Dependency] private readonly SandboxUIController _sandbox = default!;
  23. [Dependency] private readonly GuidebookUIController _guidebook = default!;
  24. [Dependency] private readonly EmotesUIController _emotes = default!;
  25. private GameTopMenuBar? GameTopMenuBar => UIManager.GetActiveUIWidgetOrNull<GameTopMenuBar>();
  26. public override void Initialize()
  27. {
  28. base.Initialize();
  29. var gameplayStateLoad = UIManager.GetUIController<GameplayStateLoadController>();
  30. gameplayStateLoad.OnScreenLoad += LoadButtons;
  31. gameplayStateLoad.OnScreenUnload += UnloadButtons;
  32. }
  33. public void UnloadButtons()
  34. {
  35. _escape.UnloadButton();
  36. _guidebook.UnloadButton();
  37. _admin.UnloadButton();
  38. _character.UnloadButton();
  39. _crafting.UnloadButton();
  40. _ahelp.UnloadButton();
  41. _action.UnloadButton();
  42. _sandbox.UnloadButton();
  43. _emotes.UnloadButton();
  44. }
  45. public void LoadButtons()
  46. {
  47. _escape.LoadButton();
  48. _guidebook.LoadButton();
  49. _admin.LoadButton();
  50. _character.LoadButton();
  51. _crafting.LoadButton();
  52. _ahelp.LoadButton();
  53. _action.LoadButton();
  54. _sandbox.LoadButton();
  55. _emotes.LoadButton();
  56. }
  57. }