AdminMenuWindowEui.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using Content.Client.Eui;
  2. using Content.Shared.Administration;
  3. using Content.Shared.Eui;
  4. using Robust.Client.UserInterface.Controls;
  5. using Robust.Shared.Utility;
  6. namespace Content.Client.Administration.UI
  7. {
  8. public sealed class AdminAnnounceEui : BaseEui
  9. {
  10. private readonly AdminAnnounceWindow _window;
  11. public AdminAnnounceEui()
  12. {
  13. _window = new AdminAnnounceWindow();
  14. _window.OnClose += () => SendMessage(new CloseEuiMessage());
  15. _window.AnnounceButton.OnPressed += AnnounceButtonOnOnPressed;
  16. }
  17. private void AnnounceButtonOnOnPressed(BaseButton.ButtonEventArgs obj)
  18. {
  19. SendMessage(new AdminAnnounceEuiMsg.DoAnnounce
  20. {
  21. Announcement = Rope.Collapse(_window.Announcement.TextRope),
  22. Announcer = _window.Announcer.Text,
  23. AnnounceType = (AdminAnnounceType) (_window.AnnounceMethod.SelectedMetadata ?? AdminAnnounceType.Station),
  24. CloseAfter = !_window.KeepWindowOpen.Pressed,
  25. });
  26. }
  27. public override void Opened()
  28. {
  29. _window.OpenCentered();
  30. }
  31. public override void Closed()
  32. {
  33. _window.Close();
  34. }
  35. }
  36. }