CrewManifestEui.cs 893 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using Content.Client.Eui;
  2. using Content.Shared.CrewManifest;
  3. using Content.Shared.Eui;
  4. using JetBrains.Annotations;
  5. namespace Content.Client.CrewManifest;
  6. [UsedImplicitly]
  7. public sealed class CrewManifestEui : BaseEui
  8. {
  9. private readonly CrewManifestUi _window;
  10. public CrewManifestEui()
  11. {
  12. _window = new();
  13. _window.OnClose += () =>
  14. {
  15. SendMessage(new CloseEuiMessage());
  16. };
  17. }
  18. public override void Opened()
  19. {
  20. base.Opened();
  21. _window.OpenCentered();
  22. }
  23. public override void Closed()
  24. {
  25. base.Closed();
  26. _window.Close();
  27. }
  28. public override void HandleState(EuiStateBase state)
  29. {
  30. base.HandleState(state);
  31. if (state is not CrewManifestEuiState cast)
  32. {
  33. return;
  34. }
  35. _window.Populate(cast.StationName, cast.Entries);
  36. }
  37. }