diff --git a/Content.Client/ADT/Ninja/UI/BrainExtractorBoundUserInterface.cs b/Content.Client/ADT/Ninja/UI/BrainExtractorBoundUserInterface.cs new file mode 100644 index 00000000000..c4c13b27436 --- /dev/null +++ b/Content.Client/ADT/Ninja/UI/BrainExtractorBoundUserInterface.cs @@ -0,0 +1,31 @@ +using Content.Shared.ADT.Ninja; +using JetBrains.Annotations; +using Robust.Client.GameObjects; +using Robust.Client.UserInterface; + +namespace Content.Client.ADT.Ninja.UI; + +[UsedImplicitly] +public sealed class BrainExtractorBoundUserInterface : BoundUserInterface +{ + private BrainExtractorWindow? _window; + + public BrainExtractorBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + { + } + + protected override void Open() + { + base.Open(); + _window = this.CreateWindow(); + _window.StartScanButton.OnPressed += _ => SendMessage(new BrainExtractorUiButtonPressedMessage(BrainExtractorUiButton.StartScan)); + _window.EjectButton.OnPressed += _ => SendMessage(new BrainExtractorUiButtonPressedMessage(BrainExtractorUiButton.Eject)); + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + if (state is BrainExtractorBoundUserInterfaceState cast) + _window?.UpdateState(cast); + } +} diff --git a/Content.Client/ADT/Ninja/UI/BrainExtractorWindow.xaml b/Content.Client/ADT/Ninja/UI/BrainExtractorWindow.xaml new file mode 100644 index 00000000000..baf3d0df944 --- /dev/null +++ b/Content.Client/ADT/Ninja/UI/BrainExtractorWindow.xaml @@ -0,0 +1,19 @@ + + + + + + + +