using Content.Client.Xenoarchaeology.Ui; using Content.Shared.Xenoarchaeology.Equipment; using Content.Shared.Xenoarchaeology.Equipment.Components; using Robust.Client.GameObjects; namespace Content.Client.Xenoarchaeology.Equipment; /// public sealed class ArtifactAnalyzerSystem : SharedArtifactAnalyzerSystem { [Dependency] private readonly UserInterfaceSystem _ui = default!; /// public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnAnalysisConsoleAfterAutoHandleState); SubscribeLocalEvent(OnAnalyzerAfterAutoHandleState); } private void OnAnalysisConsoleAfterAutoHandleState(Entity ent, ref AfterAutoHandleStateEvent args) { UpdateBuiIfCanGetAnalysisConsoleUi(ent); } private void OnAnalyzerAfterAutoHandleState(Entity ent, ref AfterAutoHandleStateEvent args) { if (!TryGetAnalysisConsole(ent, out var analysisConsole)) return; UpdateBuiIfCanGetAnalysisConsoleUi(analysisConsole.Value); } private void UpdateBuiIfCanGetAnalysisConsoleUi(Entity analysisConsole) { if (_ui.TryGetOpenUi(analysisConsole.Owner, ArtifactAnalyzerUiKey.Key, out var bui)) bui.Update(analysisConsole); } }