Optimize artifact analyzer UI state sending (#22949)

* Remove n rename cruft old shit

* Artifact analyzer UI updating optimization

* Revert "Remove n rename cruft old shit"

This reverts commit 8789338fb20f77d79c5b0e40719896efe0103fcc.
This commit is contained in:
Kara
2023-12-25 13:50:10 -07:00
committed by GitHub
parent 7b46390b9c
commit ab6726136f
4 changed files with 35 additions and 17 deletions

View File

@@ -79,9 +79,6 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem
var query = EntityQueryEnumerator<ActiveArtifactAnalyzerComponent, ArtifactAnalyzerComponent>();
while (query.MoveNext(out var uid, out var active, out var scan))
{
if (scan.Console != null)
UpdateUserInterface(scan.Console.Value);
if (_timing.CurTime - active.StartTime < scan.AnalysisDuration * scan.AnalysisDurationMulitplier)
continue;
@@ -191,7 +188,7 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem
EntityUid? artifact = null;
FormattedMessage? msg = null;
var totalTime = TimeSpan.Zero;
TimeSpan? totalTime = null;
var canScan = false;
var canPrint = false;
var points = 0;
@@ -212,10 +209,9 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem
var serverConnected = TryComp<ResearchClientComponent>(uid, out var client) && client.ConnectedToServer;
var scanning = TryComp<ActiveArtifactAnalyzerComponent>(component.AnalyzerEntity, out var active);
var remaining = active != null ? _timing.CurTime - active.StartTime : TimeSpan.Zero;
var state = new AnalysisConsoleScanUpdateState(GetNetEntity(artifact), analyzerConnected, serverConnected,
canScan, canPrint, msg, scanning, remaining, totalTime, points);
canScan, canPrint, msg, scanning, active?.StartTime, totalTime, points);
var bui = _ui.GetUi(uid, ArtifactAnalzyerUiKey.Key);
_ui.SetUiState(bui, state);
@@ -256,6 +252,7 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem
var activeArtifact = EnsureComp<ActiveScannedArtifactComponent>(ent.Value);
activeArtifact.Scanner = component.AnalyzerEntity.Value;
UpdateUserInterface(uid, component);
}
private void OnPrintButton(EntityUid uid, AnalysisConsoleComponent component, AnalysisConsolePrintButtonPressedMessage args)