From 4c09e645f38b43d5cf3046eb72f3a98be6947a01 Mon Sep 17 00:00:00 2001 From: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Date: Mon, 20 Nov 2023 18:09:06 +1300 Subject: [PATCH] Make T-ray entity query use lookup flags (#21793) --- Content.Client/SubFloor/TrayScannerSystem.cs | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Content.Client/SubFloor/TrayScannerSystem.cs b/Content.Client/SubFloor/TrayScannerSystem.cs index 6497ba1d68..f4ba455303 100644 --- a/Content.Client/SubFloor/TrayScannerSystem.cs +++ b/Content.Client/SubFloor/TrayScannerSystem.cs @@ -23,6 +23,8 @@ public sealed class TrayScannerSystem : SharedTrayScannerSystem private const string TRayAnimationKey = "trays"; private const double AnimationLength = 0.3; + public const LookupFlags Flags = LookupFlags.Static | LookupFlags.Sundries | LookupFlags.Approximate; + public override void Update(float frameTime) { base.Update(frameTime); @@ -76,28 +78,23 @@ public sealed class TrayScannerSystem : SharedTrayScannerSystem if (canSee) { - _lookup.GetEntitiesInRange(playerMap, playerPos, range, inRange); + _lookup.GetEntitiesInRange(playerMap, playerPos, range, inRange, flags: Flags); foreach (var (uid, comp) in inRange) { - if (!comp.IsUnderCover || !comp.BlockAmbience | !comp.BlockInteractions) - continue; - - EnsureComp(uid); + if (comp.IsUnderCover) + EnsureComp(uid); } } - var revealedQuery = AllEntityQuery(); + var revealedQuery = AllEntityQuery(); var subfloorQuery = GetEntityQuery(); - while (revealedQuery.MoveNext(out var uid, out _, out var sprite, out var xform)) + while (revealedQuery.MoveNext(out var uid, out _, out var sprite)) { // Revealing // Add buffer range to avoid flickers. if (subfloorQuery.TryGetComponent(uid, out var subfloor) && - xform.MapID != MapId.Nullspace && - xform.MapID == playerMap && - xform.Anchored && inRange.Contains((uid, subfloor))) { // Due to the fact client is predicting this server states will reset it constantly