]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Anomaly cleanup (#14781)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Thu, 23 Mar 2023 05:53:32 +0000 (01:53 -0400)
committerGitHub <noreply@github.com>
Thu, 23 Mar 2023 05:53:32 +0000 (16:53 +1100)
16 files changed:
Content.Server/Anomaly/AnomalySystem.Generator.cs
Content.Server/Anomaly/AnomalySystem.Scanner.cs
Content.Server/Anomaly/AnomalySystem.Vessel.cs
Content.Server/Anomaly/AnomalySystem.cs
Content.Server/Anomaly/Components/AnomalousParticleComponent.cs
Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs
Content.Server/Anomaly/Components/AnomalyScannerComponent.cs
Content.Server/Anomaly/Components/AnomalyVesselComponent.cs
Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs
Content.Server/Anomaly/Effects/PyroclasticAnomalySystem.cs
Content.Shared/Anomaly/Components/AnomalyComponent.cs
Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs
Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs
Content.Shared/Anomaly/Effects/Components/BluespaceAnomalyComponent.cs
Content.Shared/Anomaly/Effects/Components/GravityAnomalyComponent.cs
Content.Shared/Anomaly/SharedAnomalySystem.cs

index 2b20ce75a24a03bf34e2d0360b405e86490fe325..ba7c7b981cce49af5cace2baf26df196c3558fa5 100644 (file)
@@ -162,10 +162,9 @@ public sealed partial class AnomalySystem
 
     private void UpdateGenerator()
     {
-        foreach (var (active, gen) in EntityQuery<GeneratingAnomalyGeneratorComponent, AnomalyGeneratorComponent>())
+        var query = EntityQueryEnumerator<GeneratingAnomalyGeneratorComponent, AnomalyGeneratorComponent>();
+        while (query.MoveNext(out var ent, out var active, out var gen))
         {
-            var ent = active.Owner;
-
             if (Timing.CurTime < active.EndTime)
                 continue;
             active.AudioStream?.Stop();
index 70a3a1026834f8db46e957d1aba4210f2eb358c8..3cd08b0de1282c98fe52d75b7b67a57af15c88af 100644 (file)
@@ -27,41 +27,45 @@ public sealed partial class AnomalySystem
 
     private void OnScannerAnomalyShutdown(ref AnomalyShutdownEvent args)
     {
-        foreach (var component in EntityQuery<AnomalyScannerComponent>())
+        var query = EntityQueryEnumerator<AnomalyScannerComponent>();
+        while (query.MoveNext(out var uid, out var component))
         {
             if (component.ScannedAnomaly != args.Anomaly)
                 continue;
-            _ui.TryCloseAll(component.Owner, AnomalyScannerUiKey.Key);
+            _ui.TryCloseAll(uid, AnomalyScannerUiKey.Key);
         }
     }
 
     private void OnScannerAnomalySeverityChanged(ref AnomalySeverityChangedEvent args)
     {
-        foreach (var component in EntityQuery<AnomalyScannerComponent>())
+        var query = EntityQueryEnumerator<AnomalyScannerComponent>();
+        while (query.MoveNext(out var uid, out var component))
         {
             if (component.ScannedAnomaly != args.Anomaly)
                 continue;
-            UpdateScannerUi(component.Owner, component);
+            UpdateScannerUi(uid, component);
         }
     }
 
     private void OnScannerAnomalyStabilityChanged(ref AnomalyStabilityChangedEvent args)
     {
-        foreach (var component in EntityQuery<AnomalyScannerComponent>())
+        var query = EntityQueryEnumerator<AnomalyScannerComponent>();
+        while (query.MoveNext(out var uid, out var component))
         {
             if (component.ScannedAnomaly != args.Anomaly)
                 continue;
-            UpdateScannerUi(component.Owner, component);
+            UpdateScannerUi(uid, component);
         }
     }
 
     private void OnScannerAnomalyHealthChanged(ref AnomalyHealthChangedEvent args)
     {
-        foreach (var component in EntityQuery<AnomalyScannerComponent>())
+        var query = EntityQueryEnumerator<AnomalyScannerComponent>();
+        while (query.MoveNext(out var uid, out var component))
         {
             if (component.ScannedAnomaly != args.Anomaly)
                 continue;
-            UpdateScannerUi(component.Owner, component);
+            UpdateScannerUi(uid, component);
         }
     }
 
index 8d2710280a13582dd9a286e42af620f59fde2fd0..a87555a737a78e5eb0280c5a2321ff509c010d20 100644 (file)
@@ -100,10 +100,9 @@ public sealed partial class AnomalySystem
 
     private void OnVesselAnomalyShutdown(ref AnomalyShutdownEvent args)
     {
-        foreach (var component in EntityQuery<AnomalyVesselComponent>())
+        var query = EntityQueryEnumerator<AnomalyVesselComponent>();
+        while (query.MoveNext(out var ent, out var component))
         {
-            var ent = component.Owner;
-
             if (args.Anomaly != component.Anomaly)
                 continue;
 
@@ -118,9 +117,9 @@ public sealed partial class AnomalySystem
 
     private void OnVesselAnomalyStabilityChanged(ref AnomalyStabilityChangedEvent args)
     {
-        foreach (var component in EntityQuery<AnomalyVesselComponent>())
+        var query = EntityQueryEnumerator<AnomalyVesselComponent>();
+        while (query.MoveNext(out var ent, out var component))
         {
-            var ent = component.Owner;
             if (args.Anomaly != component.Anomaly)
                 continue;
 
@@ -171,9 +170,9 @@ public sealed partial class AnomalySystem
 
     private void UpdateVessels()
     {
-        foreach (var vessel in EntityQuery<AnomalyVesselComponent>())
+        var query = EntityQueryEnumerator<AnomalyVesselComponent>();
+        while (query.MoveNext(out var vesselEnt, out var vessel))
         {
-            var vesselEnt = vessel.Owner;
             if (vessel.Anomaly is not { } anomUid)
                 continue;
 
index 3e7122695f4838e701aeecbe9f55f613123d4e2c..3de46afb46b423e043337e9f9331409ba185465f 100644 (file)
@@ -7,7 +7,6 @@ using Content.Server.Materials;
 using Content.Server.Radio.EntitySystems;
 using Content.Shared.Anomaly;
 using Content.Shared.Anomaly.Components;
-using Content.Shared.DoAfter;
 using Robust.Server.GameObjects;
 using Robust.Shared.Configuration;
 using Robust.Shared.Physics.Events;
index 195fe5a9414c9be94db980ead41239e7c0934c29..6d8e248c1441dfa504a3c47d70f260bf4f319315 100644 (file)
@@ -5,7 +5,7 @@ namespace Content.Server.Anomaly.Components;
 /// <summary>
 /// This is used for projectiles which affect anomalies through colliding with them.
 /// </summary>
-[RegisterComponent]
+[RegisterComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalousParticleComponent : Component
 {
     /// <summary>
index 0b27ee7d1b170d5af11c7bf9c9c50d5ce1ebc928..fdb9d2e721acfd506e2c5c164ff64eb942a4c567 100644 (file)
@@ -1,4 +1,5 @@
-using Content.Shared.Materials;
+using Content.Shared.Anomaly;
+using Content.Shared.Materials;
 using Content.Shared.Radio;
 using Robust.Shared.Audio;
 using Robust.Shared.Prototypes;
@@ -11,7 +12,7 @@ namespace Content.Server.Anomaly.Components;
 /// This is used for a machine that is able to generate
 /// anomalies randomly on the station.
 /// </summary>
-[RegisterComponent]
+[RegisterComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalyGeneratorComponent : Component
 {
     /// <summary>
index cf40950224fc4ba623ae5a14556a1eb004b77681..c7259ee468a5f0c82183d578fe290def52fb8ef8 100644 (file)
@@ -1,4 +1,4 @@
-using System.Threading;
+using Content.Shared.Anomaly;
 using Robust.Shared.Audio;
 
 namespace Content.Server.Anomaly.Components;
@@ -7,7 +7,7 @@ namespace Content.Server.Anomaly.Components;
 /// This is used for scanning anomalies and
 /// displaying information about them in the ui
 /// </summary>
-[RegisterComponent]
+[RegisterComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalyScannerComponent : Component
 {
     /// <summary>
index 2d502f0ea31f59b347dbbcce9ff27dc218a38ede..92d3f76062368dd0c6f86551977d5c74c80bceec 100644 (file)
@@ -1,4 +1,5 @@
-using Content.Shared.Construction.Prototypes;
+using Content.Shared.Anomaly;
+using Content.Shared.Construction.Prototypes;
 using Robust.Shared.Audio;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
@@ -11,7 +12,7 @@ namespace Content.Server.Anomaly.Components;
 /// they generate points for the selected server based on
 /// the anomaly's stability and severity.
 /// </summary>
-[RegisterComponent]
+[RegisterComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalyVesselComponent : Component
 {
     /// <summary>
index 9e30d66c90751966a01b5e7c5e69985874d3ced7..8e4eb6039996522bdb70039f7286b81207827640 100644 (file)
@@ -1,9 +1,10 @@
-using Robust.Shared.Audio;
+using Content.Shared.Anomaly;
+using Robust.Shared.Audio;
 using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
 
 namespace Content.Server.Anomaly.Components;
 
-[RegisterComponent]
+[RegisterComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class GeneratingAnomalyGeneratorComponent : Component
 {
     /// <summary>
index 5d86c31f4600e41c2fabe70ed689a974b6892da9..8144a5143cc258290930043bdfbae79780c9b2b5 100644 (file)
@@ -49,7 +49,7 @@ public sealed class PyroclasticAnomalySystem : EntitySystem
         {
             foreach (var ind in _atmosphere.GetAdjacentTiles(grid.Value, indices))
             {
-                var mix = _atmosphere.GetTileMixture(grid, map, indices, true);
+                var mix = _atmosphere.GetTileMixture(grid, map, ind, true);
                 if (mix is not { })
                     continue;
 
@@ -65,10 +65,9 @@ public sealed class PyroclasticAnomalySystem : EntitySystem
     {
         base.Update(frameTime);
 
-        foreach (var (pyro, anom, xform) in EntityQuery<PyroclasticAnomalyComponent, AnomalyComponent, TransformComponent>())
+        var query = EntityQueryEnumerator<PyroclasticAnomalyComponent, AnomalyComponent, TransformComponent>();
+        while (query.MoveNext(out var ent, out var pyro, out var anom, out var xform))
         {
-            var ent = pyro.Owner;
-
             var grid = xform.GridUid;
             var map = xform.MapUid;
             var indices = _xform.GetGridOrMapTilePosition(ent, xform);
index 50f128d145efd0d75dfc420ca8fa0f1919a7495b..813b3b38c1efda5d0ec9144eb1a1bf43259deb28 100644 (file)
@@ -13,7 +13,7 @@ namespace Content.Shared.Anomaly.Components;
 ///
 /// Anomalies and their related components were designed here: https://hackmd.io/@ss14-design/r1sQbkJOs
 /// </summary>
-[RegisterComponent, NetworkedComponent]
+[RegisterComponent, NetworkedComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalyComponent : Component
 {
     /// <summary>
index 9c12ec11c89cd975551a47e0ebb88f693992e93b..7321a279fdd99a906e4c7c8057a0a6b3d1a426ba 100644 (file)
@@ -5,7 +5,7 @@ namespace Content.Shared.Anomaly.Components;
 /// <summary>
 /// This component tracks anomalies that are currently pulsing
 /// </summary>
-[RegisterComponent]
+[RegisterComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalyPulsingComponent : Component
 {
     /// <summary>
index bc5bb381ef9e96ee62c324ab6c7b2f9a65f07efa..14751d726c88e70ba3868ba3416d70225282e44f 100644 (file)
@@ -7,7 +7,7 @@ namespace Content.Shared.Anomaly.Components;
 /// <summary>
 /// Tracks anomalies going supercritical
 /// </summary>
-[RegisterComponent, NetworkedComponent]
+[RegisterComponent, NetworkedComponent, Access(typeof(SharedAnomalySystem))]
 public sealed class AnomalySupercriticalComponent : Component
 {
     /// <summary>
index 446194188bbe9d186be8265ccd34e87dc68bb2e1..03b9c3fef08072460ae33d8c368c98b0896eb5cd 100644 (file)
@@ -3,8 +3,7 @@ using Robust.Shared.GameStates;
 
 namespace Content.Shared.Anomaly.Effects.Components;
 
-[RegisterComponent, NetworkedComponent]
-[Access(typeof(BluespaceAnomalySystem))]
+[RegisterComponent, NetworkedComponent, Access(typeof(BluespaceAnomalySystem))]
 public sealed class BluespaceAnomalyComponent : Component
 {
     /// <summary>
index 761bc9daecf4c4de271cbcaa545e5080d0b9562e..1ede852f7d34265e1347eb2061a57c2cbd51be2f 100644 (file)
@@ -2,7 +2,7 @@
 
 namespace Content.Shared.Anomaly.Effects.Components;
 
-[RegisterComponent, NetworkedComponent]
+[RegisterComponent, NetworkedComponent, Access(typeof(SharedGravityAnomalySystem))]
 public sealed class GravityAnomalyComponent : Component
 {
     /// <summary>
index 874e28ebcd9f0ac7ebf68f6fe004be9db9d81baf..3ff305f7fe9221986c461fd05bf62dd7c09911ed 100644 (file)
@@ -312,10 +312,9 @@ public abstract class SharedAnomalySystem : EntitySystem
     {
         base.Update(frameTime);
 
-        foreach (var anomaly in EntityQuery<AnomalyComponent>())
+        var anomalyQuery = EntityQueryEnumerator<AnomalyComponent>();
+        while (anomalyQuery.MoveNext(out var ent, out var anomaly))
         {
-            var ent = anomaly.Owner;
-
             // if the stability is under the death threshold,
             // update it every second to start killing it slowly.
             if (anomaly.Stability < anomaly.DecayThreshold)
@@ -329,10 +328,9 @@ public abstract class SharedAnomalySystem : EntitySystem
             }
         }
 
-        foreach (var pulse in EntityQuery<AnomalyPulsingComponent>())
+        var pulseQuery = EntityQueryEnumerator<AnomalyPulsingComponent>();
+        while (pulseQuery.MoveNext(out var ent, out var pulse))
         {
-            var ent = pulse.Owner;
-
             if (Timing.CurTime > pulse.EndTime)
             {
                 Appearance.SetData(ent, AnomalyVisuals.IsPulsing, false);
@@ -340,10 +338,9 @@ public abstract class SharedAnomalySystem : EntitySystem
             }
         }
 
-        foreach (var (super, anom) in EntityQuery<AnomalySupercriticalComponent, AnomalyComponent>())
+        var supercriticalQuery = EntityQueryEnumerator<AnomalySupercriticalComponent, AnomalyComponent>();
+        while (supercriticalQuery.MoveNext(out var ent, out var super, out var anom))
         {
-            var ent = anom.Owner;
-
             if (Timing.CurTime <= super.EndTime)
                 continue;
             DoAnomalySupercriticalEvent(ent, anom);