AnalysisConsoleBoundUserInterface.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using Content.Shared.Xenoarchaeology.Equipment;
  2. using JetBrains.Annotations;
  3. using Robust.Client.GameObjects;
  4. using Robust.Client.UserInterface;
  5. namespace Content.Client.Xenoarchaeology.Ui;
  6. [UsedImplicitly]
  7. public sealed class AnalysisConsoleBoundUserInterface : BoundUserInterface
  8. {
  9. [ViewVariables]
  10. private AnalysisConsoleMenu? _consoleMenu;
  11. public AnalysisConsoleBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey)
  12. {
  13. }
  14. protected override void Open()
  15. {
  16. base.Open();
  17. _consoleMenu = this.CreateWindow<AnalysisConsoleMenu>();
  18. _consoleMenu.OnServerSelectionButtonPressed += () =>
  19. {
  20. SendMessage(new AnalysisConsoleServerSelectionMessage());
  21. };
  22. _consoleMenu.OnScanButtonPressed += () =>
  23. {
  24. SendMessage(new AnalysisConsoleScanButtonPressedMessage());
  25. };
  26. _consoleMenu.OnPrintButtonPressed += () =>
  27. {
  28. SendMessage(new AnalysisConsolePrintButtonPressedMessage());
  29. };
  30. _consoleMenu.OnExtractButtonPressed += () =>
  31. {
  32. SendMessage(new AnalysisConsoleExtractButtonPressedMessage());
  33. };
  34. _consoleMenu.OnUpBiasButtonPressed += () =>
  35. {
  36. SendMessage(new AnalysisConsoleBiasButtonPressedMessage(false));
  37. };
  38. _consoleMenu.OnDownBiasButtonPressed += () =>
  39. {
  40. SendMessage(new AnalysisConsoleBiasButtonPressedMessage(true));
  41. };
  42. }
  43. protected override void UpdateState(BoundUserInterfaceState state)
  44. {
  45. base.UpdateState(state);
  46. switch (state)
  47. {
  48. case AnalysisConsoleUpdateState msg:
  49. _consoleMenu?.SetButtonsDisabled(msg);
  50. _consoleMenu?.UpdateInformationDisplay(msg);
  51. _consoleMenu?.UpdateProgressBar(msg);
  52. break;
  53. }
  54. }
  55. protected override void Dispose(bool disposing)
  56. {
  57. base.Dispose(disposing);
  58. if (!disposing)
  59. return;
  60. _consoleMenu?.Dispose();
  61. }
  62. }