diff --git a/Content.Client/Borer/ReagentUIController.cs b/Content.Client/Borer/ReagentUIController.cs index f6dab5728e..8d58c414ce 100644 --- a/Content.Client/Borer/ReagentUIController.cs +++ b/Content.Client/Borer/ReagentUIController.cs @@ -44,6 +44,8 @@ public sealed class ReagentUIController : UIController, IOnSystemChanged OpenWindow())) .Register(); + + _reagentsLoaded = false; } private void UnloadGui() @@ -55,6 +57,7 @@ public sealed class ReagentUIController : UIController, IOnSystemChanged(); + _reagentsLoaded = false; } private void OnInjectReagent(string protoId, int cost) @@ -68,24 +71,28 @@ public sealed class ReagentUIController : UIController, IOnSystemChanged(); + if (entManager.HasComponent(ent)) { - foreach (var reagent in _borerSystem.GetReagents(ent.Value)) + if (!_reagentsLoaded) { - var button = new Button(); - button.Text = Loc.GetString("borer-ui-secrete-inject-label", - ("reagent", Loc.GetString("reagent-name-" + - reagent.Key.ToLower().Replace("spacedrugs", "space-drugs"))), - ("cost", reagent.Value)); + foreach (var reagent in _borerSystem.GetReagents(ent.Value)) + { + var button = new Button(); + button.Text = Loc.GetString("borer-ui-secrete-inject-label", + ("reagent", Loc.GetString("reagent-name-" + + reagent.Key.ToLower().Replace("spacedrugs", "space-drugs"))), + ("cost", reagent.Value)); - button.OnPressed += _ => OnInjectReagent(reagent.Key, reagent.Value); - _window.MainContainer.AddChild(button); + button.OnPressed += _ => OnInjectReagent(reagent.Key, reagent.Value); + _window.MainContainer.AddChild(button); + } + + _reagentsLoaded = true; } - _reagentsLoaded = true; + _window.Open(); } - - _window.Open(); } public void OnSystemLoaded(ActionsSystem system)