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);
}
}