From 1fd934d5dcab9af62ce2fa384e17c2866e50b292 Mon Sep 17 00:00:00 2001 From: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com> Date: Fri, 2 Aug 2024 07:08:46 -0700 Subject: [PATCH] Use EntityQuery for footstep modifier and map grid in SharedMoverController (#30575) --- .../Movement/Systems/SharedMoverController.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Content.Shared/Movement/Systems/SharedMoverController.cs b/Content.Shared/Movement/Systems/SharedMoverController.cs index 68e384a1b4..1f64717823 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.cs @@ -57,6 +57,8 @@ namespace Content.Shared.Movement.Systems protected EntityQuery XformQuery; protected EntityQuery CanMoveInAirQuery; protected EntityQuery NoRotateQuery; + protected EntityQuery FootstepModifierQuery; + protected EntityQuery MapGridQuery; /// /// @@ -84,6 +86,8 @@ namespace Content.Shared.Movement.Systems XformQuery = GetEntityQuery(); NoRotateQuery = GetEntityQuery(); CanMoveInAirQuery = GetEntityQuery(); + FootstepModifierQuery = GetEntityQuery(); + MapGridQuery = GetEntityQuery(); InitializeInput(); InitializeRelay(); @@ -181,7 +185,7 @@ namespace Content.Shared.Movement.Systems // Don't bother getting the tiledef here if we're weightless or in-air // since no tile-based modifiers should be applying in that situation - if (TryComp(xform.GridUid, out MapGridComponent? gridComp) + if (MapGridQuery.TryComp(xform.GridUid, out var gridComp) && _mapSystem.TryGetTileRef(xform.GridUid.Value, gridComp, xform.Coordinates, out var tile) && !(weightless || physicsComponent.BodyStatus == BodyStatus.InAir)) { @@ -430,14 +434,14 @@ namespace Content.Shared.Movement.Systems mobMover.StepSoundDistance -= distanceNeeded; - if (TryComp(uid, out var moverModifier)) + if (FootstepModifierQuery.TryComp(uid, out var moverModifier)) { sound = moverModifier.FootstepSoundCollection; return true; } if (_inventory.TryGetSlotEntity(uid, "shoes", out var shoes) && - TryComp(shoes, out var modifier)) + FootstepModifierQuery.TryComp(shoes, out var modifier)) { sound = modifier.FootstepSoundCollection; return true; @@ -456,9 +460,9 @@ namespace Content.Shared.Movement.Systems sound = null; // Fallback to the map? - if (!TryComp(xform.GridUid, out var grid)) + if (!MapGridQuery.TryComp(xform.GridUid, out var grid)) { - if (TryComp(xform.MapUid, out var modifier)) + if (FootstepModifierQuery.TryComp(xform.MapUid, out var modifier)) { sound = modifier.FootstepSoundCollection; return true; @@ -484,7 +488,7 @@ namespace Content.Shared.Movement.Systems return true; } - if (TryComp(maybeFootstep, out var footstep)) + if (FootstepModifierQuery.TryComp(maybeFootstep, out var footstep)) { sound = footstep.FootstepSoundCollection; return true;