]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove some client IEnumerables (#16501)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Tue, 16 May 2023 12:55:22 +0000 (22:55 +1000)
committerGitHub <noreply@github.com>
Tue, 16 May 2023 12:55:22 +0000 (22:55 +1000)
Content.Client/Anomaly/AnomalySystem.cs
Content.Client/SurveillanceCamera/SurveillanceCameraMonitorSystem.cs
Content.Server/Physics/Controllers/ConveyorController.cs
Content.Shared/Damage/Systems/DamageContactsSystem.cs
Content.Shared/Gravity/SharedGravitySystem.Shake.cs
Content.Shared/Physics/Controllers/SharedConveyorController.cs

index b8e3e743939e53bbb047f3daca790b24e92d1414..4ed73e7fa354b3e51df6ea73ef9302c970836df3 100644 (file)
@@ -59,7 +59,9 @@ public sealed class AnomalySystem : SharedAnomalySystem
     {
         base.Update(frameTime);
 
-        foreach (var (super, sprite) in EntityQuery<AnomalySupercriticalComponent, SpriteComponent>())
+        var query = EntityQueryEnumerator<AnomalySupercriticalComponent, SpriteComponent>();
+
+        while (query.MoveNext(out var super, out var sprite))
         {
             var completion = 1f - (float) ((super.EndTime - _timing.CurTime) / super.SupercriticalDuration);
             var scale = completion * (super.MaxScaleAmount - 1f) + 1f;
index f25cf4c30e6dfd17da6e5ef0fb50cf02e45b7239..ec79889e7a81f5344b56b9074bf658dc7b1d2673 100644 (file)
@@ -6,23 +6,17 @@ public sealed class SurveillanceCameraMonitorSystem : EntitySystem
 {
     public override void Update(float frameTime)
     {
-        foreach (var comp in EntityQuery<ActiveSurveillanceCameraMonitorVisualsComponent>())
-        {
-            if (Paused(comp.Owner))
-            {
-                continue;
-            }
+        var query = EntityQueryEnumerator<ActiveSurveillanceCameraMonitorVisualsComponent>();
 
+        while (query.MoveNext(out var uid, out var comp))
+        {
             comp.TimeLeft -= frameTime;
 
-            if (comp.TimeLeft <= 0 || Deleted(comp.Owner))
+            if (comp.TimeLeft <= 0)
             {
-                if (comp.OnFinish != null)
-                {
-                    comp.OnFinish();
-                }
+                comp.OnFinish?.Invoke();
 
-                EntityManager.RemoveComponentDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(comp.Owner);
+                RemCompDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(uid);
             }
         }
     }
@@ -35,6 +29,6 @@ public sealed class SurveillanceCameraMonitorSystem : EntitySystem
 
     public void RemoveTimer(EntityUid uid)
     {
-        EntityManager.RemoveComponentDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(uid);
+        RemCompDeferred<ActiveSurveillanceCameraMonitorVisualsComponent>(uid);
     }
 }
index e3777acbde13e6a51ee68765259b48b69735dee6..c4a40a23e4a34c4cfb587d196d5450dd55660c10 100644 (file)
@@ -123,11 +123,11 @@ public sealed class ConveyorController : SharedConveyorController
         if (!xformQuery.TryGetComponent(uid, out var xform))
             return;
 
-        var beltTileRef = xform.Coordinates.GetTileRef(EntityManager, _mapManager);
+        var beltTileRef = xform.Coordinates.GetTileRef(EntityManager, MapManager);
 
         if (beltTileRef != null)
         {
-            var intersecting = _lookup.GetEntitiesIntersecting(beltTileRef.Value);
+            var intersecting = Lookup.GetEntitiesIntersecting(beltTileRef.Value);
 
             foreach (var entity in intersecting)
             {
@@ -135,7 +135,7 @@ public sealed class ConveyorController : SharedConveyorController
                     continue;
 
                 if (physics.BodyType != BodyType.Static)
-                    _physics.WakeBody(entity, body: physics);
+                    Physics.WakeBody(entity, body: physics);
             }
         }
     }
index 32757a563ca898027f04cc92828c2015bfc8307a..aec3d0766ae9740aa635bcca6d0d88baf43bd621 100644 (file)
@@ -23,9 +23,10 @@ public sealed class DamageContactsSystem : EntitySystem
     {
         base.Update(frameTime);
 
-        foreach (var damaged in EntityQuery<DamagedByContactComponent>())
+        var query = EntityQueryEnumerator<DamagedByContactComponent>();
+
+        while (query.MoveNext(out var ent, out var damaged))
         {
-            var ent = damaged.Owner;
             if (_timing.CurTime < damaged.NextSecond)
                 continue;
             damaged.NextSecond = _timing.CurTime + TimeSpan.FromSeconds(1);
index f264698cd9d874d49553e19be5901668dfd38f7f..f265dedc15018f03c9cd0055c80d5f460fa095ad 100644 (file)
@@ -24,18 +24,19 @@ public abstract partial class SharedGravitySystem
     {
         var curTime = Timing.CurTime;
         var gravityQuery = GetEntityQuery<GravityComponent>();
+        var query = EntityQueryEnumerator<GravityShakeComponent>();
 
-        foreach (var comp in EntityQuery<GravityShakeComponent>())
+        while (query.MoveNext(out var uid, out var comp))
         {
             if (comp.NextShake <= curTime)
             {
-                if (comp.ShakeTimes == 0 || !gravityQuery.TryGetComponent(comp.Owner, out var gravity))
+                if (comp.ShakeTimes == 0 || !gravityQuery.TryGetComponent(uid, out var gravity))
                 {
-                    RemCompDeferred<GravityShakeComponent>(comp.Owner);
+                    RemCompDeferred<GravityShakeComponent>(uid);
                     continue;
                 }
 
-                ShakeGrid(comp.Owner, gravity);
+                ShakeGrid(uid, gravity);
                 comp.ShakeTimes--;
                 comp.NextShake += TimeSpan.FromSeconds(ShakeCooldown);
                 Dirty(comp);
index 9762c0d807809505cf16707a49e3e44b34c52cd6..29643e4bb5a6536834dfd516af6f22e24a25c026 100644 (file)
@@ -13,9 +13,9 @@ namespace Content.Shared.Physics.Controllers;
 
 public abstract class SharedConveyorController : VirtualController
 {
-    [Dependency] protected readonly IMapManager _mapManager = default!;
-    [Dependency] protected readonly EntityLookupSystem _lookup = default!;
-    [Dependency] protected readonly SharedPhysicsSystem _physics = default!;
+    [Dependency] protected readonly IMapManager MapManager = default!;
+    [Dependency] protected readonly EntityLookupSystem Lookup = default!;
+    [Dependency] protected readonly SharedPhysicsSystem Physics = default!;
     [Dependency] private readonly SharedGravitySystem _gravity = default!;
 
     protected const string ConveyorFixture = "conveyor";
@@ -74,10 +74,10 @@ public abstract class SharedConveyorController : VirtualController
         // Don't use it directly in EntityQuery because we may be able to save getcomponents.
         var xformQuery = GetEntityQuery<TransformComponent>();
         var bodyQuery = GetEntityQuery<PhysicsComponent>();
+        var query = EntityQueryEnumerator<ActiveConveyorComponent, ConveyorComponent>();
 
-        foreach (var (_, comp) in EntityQuery<ActiveConveyorComponent, ConveyorComponent>())
+        while (query.MoveNext(out var uid, out var _, out var comp))
         {
-            var uid = comp.Owner;
             Convey(uid, comp, xformQuery, bodyQuery, conveyed, frameTime, prediction);
         }
     }
@@ -115,8 +115,8 @@ public abstract class SharedConveyorController : VirtualController
             transform.LocalPosition = localPos;
 
             // Force it awake for collisionwake reasons.
-            _physics.SetAwake(entity, body, true);
-            _physics.SetSleepTime(body, 0f);
+            Physics.SetAwake(entity, body, true);
+            Physics.SetSleepTime(body, 0f);
         }
         Dirty(comp);
     }
@@ -161,9 +161,9 @@ public abstract class SharedConveyorController : VirtualController
         EntityQuery<PhysicsComponent> bodyQuery)
     {
         // Check if the thing's centre overlaps the grid tile.
-        var grid = _mapManager.GetGrid(xform.GridUid!.Value);
+        var grid = MapManager.GetGrid(xform.GridUid!.Value);
         var tile = grid.GetTileRef(xform.Coordinates);
-        var conveyorBounds = _lookup.GetLocalBounds(tile, grid.TileSize);
+        var conveyorBounds = Lookup.GetLocalBounds(tile, grid.TileSize);
 
         foreach (var entity in comp.Intersecting)
         {