1
0

AtmosMonitoringConsoleBoundUserInterface.cs 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using Content.Shared.Atmos.Components;
  2. namespace Content.Client.Atmos.Consoles;
  3. public sealed class AtmosMonitoringConsoleBoundUserInterface : BoundUserInterface
  4. {
  5. [ViewVariables]
  6. private AtmosMonitoringConsoleWindow? _menu;
  7. public AtmosMonitoringConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) { }
  8. protected override void Open()
  9. {
  10. base.Open();
  11. _menu = new AtmosMonitoringConsoleWindow(this, Owner);
  12. _menu.OpenCentered();
  13. _menu.OnClose += Close;
  14. }
  15. protected override void UpdateState(BoundUserInterfaceState state)
  16. {
  17. base.UpdateState(state);
  18. if (state is not AtmosMonitoringConsoleBoundInterfaceState castState)
  19. return;
  20. EntMan.TryGetComponent<TransformComponent>(Owner, out var xform);
  21. _menu?.UpdateUI(xform?.Coordinates, castState.AtmosNetworks);
  22. }
  23. protected override void Dispose(bool disposing)
  24. {
  25. base.Dispose(disposing);
  26. if (!disposing)
  27. return;
  28. _menu?.Dispose();
  29. }
  30. }