From 46c2d1c5b4d58b7cb0ce27beac0b2e5ff5510b98 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 13 Mar 2023 10:43:28 +1100 Subject: [PATCH] Fix some gravity anomaly perf issues (#14502) --- .../Anomaly/Effects/SharedGravityAnomalySystem.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) 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); } }