ToolshedVisualizeEui.cs 977 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Content.Client.Eui;
  2. using Content.Shared.Bql;
  3. using Content.Shared.Eui;
  4. using JetBrains.Annotations;
  5. using Robust.Client.Console;
  6. namespace Content.Client.Bql;
  7. [UsedImplicitly]
  8. public sealed class ToolshedVisualizeEui : BaseEui
  9. {
  10. private readonly ToolshedVisualizeWindow _window;
  11. public ToolshedVisualizeEui()
  12. {
  13. _window = new ToolshedVisualizeWindow(
  14. IoCManager.Resolve<IClientConsoleHost>(),
  15. IoCManager.Resolve<ILocalizationManager>()
  16. );
  17. _window.OnClose += () => SendMessage(new CloseEuiMessage());
  18. }
  19. public override void HandleState(EuiStateBase state)
  20. {
  21. if (state is not ToolshedVisualizeEuiState castState)
  22. return;
  23. _window.Update(castState.Entities);
  24. }
  25. public override void Closed()
  26. {
  27. base.Closed();
  28. _window.Close();
  29. }
  30. public override void Opened()
  31. {
  32. base.Opened();
  33. _window.OpenCentered();
  34. }
  35. }