]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Make T-ray entity query use lookup flags (#21793)
authorLeon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Mon, 20 Nov 2023 05:09:06 +0000 (18:09 +1300)
committerGitHub <noreply@github.com>
Mon, 20 Nov 2023 05:09:06 +0000 (16:09 +1100)
Content.Client/SubFloor/TrayScannerSystem.cs

index 6497ba1d688b34d5ee8970e36f1dda2f65ef33ff..f4ba455303ca9b2fba9b603df77180169c13de0a 100644 (file)
@@ -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<TrayRevealedComponent>(uid);
+                if (comp.IsUnderCover)
+                    EnsureComp<TrayRevealedComponent>(uid);
             }
         }
 
-        var revealedQuery = AllEntityQuery<TrayRevealedComponent, SpriteComponent, TransformComponent>();
+        var revealedQuery = AllEntityQuery<TrayRevealedComponent, SpriteComponent>();
         var subfloorQuery = GetEntityQuery<SubFloorHideComponent>();
 
-        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