diff --git a/Content.Client/Disposal/Tagger/DisposalTaggerBoundUserInterface.cs b/Content.Client/Disposal/Tagger/DisposalTaggerBoundUserInterface.cs index d5f7408df5..3a67718224 100644 --- a/Content.Client/Disposal/Tagger/DisposalTaggerBoundUserInterface.cs +++ b/Content.Client/Disposal/Tagger/DisposalTaggerBoundUserInterface.cs @@ -8,48 +8,36 @@ namespace Content.Client.Disposal.Tagger /// Initializes a and updates it when new server messages are received. /// [UsedImplicitly] - public sealed class DisposalTaggerBoundUserInterface : BoundUserInterface + public sealed class DisposalTaggerBoundUserInterface(EntityUid owner, Enum uiKey) : BoundUserInterface(owner, uiKey) { private DisposalTaggerWindow? _window; - private const int TagLimit = 30; - - public DisposalTaggerBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) - { - } + public const int TagLimit = 30; protected override void Open() { base.Open(); _window = this.CreateWindow(); + _window.OnRouteChanged += NewRoute; - _window.Confirm.OnPressed += _ => AcceptButtonPressed(_window.TagInput.Text); - _window.TagInput.OnTextEntered += args => AcceptButtonPressed(args.Text); - - if (EntMan.TryGetComponent(Owner, out var tagger) && - tagger.Tag != string.Empty) - { - _window.TagInput.Text = tagger.Tag; - } + Update(); } - private void AcceptButtonPressed(string tag) + private void NewRoute(string route) { - SendMessage(new DisposalTaggerUiActionMessage(tag, TagLimit)); + SendMessage(new DisposalTaggerUiActionMessage(route, TagLimit)); Close(); } - protected override void UpdateState(BoundUserInterfaceState state) + public override void Update() { - base.UpdateState(state); + base.Update(); - if (state is not DisposalTaggerUserInterfaceState cast) - { + if (_window == null || !EntMan.TryGetComponent(Owner, out var tagger)) return; - } - _window?.UpdateState(cast); + _window.Populate(tagger.Tag, tagger.Editable); } } } diff --git a/Content.Client/Disposal/Tagger/DisposalTaggerWindow.xaml b/Content.Client/Disposal/Tagger/DisposalTaggerWindow.xaml index 68cb049184..5c524bf9c2 100644 --- a/Content.Client/Disposal/Tagger/DisposalTaggerWindow.xaml +++ b/Content.Client/Disposal/Tagger/DisposalTaggerWindow.xaml @@ -7,13 +7,10 @@ -