using Content.Client.Implants.UI; using Content.Client.Items; using Content.Shared.Implants; using Content.Shared.Implants.Components; namespace Content.Client.Implants; public sealed partial class ImplanterSystem : SharedImplanterSystem { [Dependency] private SharedUserInterfaceSystem _uiSystem = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnHandleImplanterState); Subs.ItemStatus(ent => new ImplanterStatusControl(ent)); } private void OnHandleImplanterState(Entity ent, ref AfterAutoHandleStateEvent args) { UpdateUi(ent); } protected override void UpdateUi(Entity ent) { if (_uiSystem.TryGetOpenUi(ent.Owner, DeimplantUiKey.Key, out var bui)) { bui.Update(); } ent.Comp.UiUpdateNeeded = true; } }