]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix some gravity anomaly perf issues (#14502)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Sun, 12 Mar 2023 23:43:28 +0000 (10:43 +1100)
committerGitHub <noreply@github.com>
Sun, 12 Mar 2023 23:43:28 +0000 (16:43 -0700)
Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs

index 09f8ec35eebba22e697f9d465ab9ae7cf950259c..1f9b2fbce5616a094413c1c846c74cde08888497 100644 (file)
@@ -26,10 +26,12 @@ public abstract class SharedGravityAnomalySystem : EntitySystem
         var range = component.MaxThrowRange * args.Severity;
         var strength = component.MaxThrowStrength * args.Severity;
         var lookup = _lookup.GetEntitiesInRange(uid, range, LookupFlags.Dynamic | LookupFlags.Sundries);
+        var xformQuery = GetEntityQuery<TransformComponent>();
+        var worldPos = _xform.GetWorldPosition(xform, xformQuery);
+
         foreach (var ent in lookup)
         {
-            var tempXform = Transform(ent);
-            var foo = tempXform.MapPosition.Position - xform.MapPosition.Position;
+            var foo = _xform.GetWorldPosition(ent, xformQuery) - worldPos;
             _throwing.TryThrow(ent, foo * 10, strength, uid, 0);
         }
     }
@@ -48,11 +50,11 @@ public abstract class SharedGravityAnomalySystem : EntitySystem
         var range = component.MaxThrowRange * 2;
         var strength = component.MaxThrowStrength * 2;
         var lookup = _lookup.GetEntitiesInRange(uid, range, LookupFlags.Dynamic | LookupFlags.Sundries);
+        var xformQuery = GetEntityQuery<TransformComponent>();
+
         foreach (var ent in lookup)
         {
-            var tempXform = Transform(ent);
-
-            var foo = tempXform.MapPosition.Position - xform.MapPosition.Position;
+            var foo = _xform.GetWorldPosition(ent, xformQuery) - worldPos;
             _throwing.TryThrow(ent, foo * 5, strength, uid, 0);
         }
     }