From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 12 Mar 2023 23:43:28 +0000 (+1100) Subject: Fix some gravity anomaly perf issues (#14502) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=46c2d1c5b4d58b7cb0ce27beac0b2e5ff5510b98;p=space-station-14.git Fix some gravity anomaly perf issues (#14502) --- diff --git a/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs b/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs index 09f8ec35ee..1f9b2fbce5 100644 --- a/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs +++ b/Content.Shared/Anomaly/Effects/SharedGravityAnomalySystem.cs @@ -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(); + 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(); + 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); } }