From a3516e60e753d9b05982a00b4c9be6b737dec43f Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 4 Jan 2024 15:13:19 +1100 Subject: [PATCH] Small adjustment for elookup api (#22447) * Small adjustment for elookup api * fix --- .../EntitySystems/AtmosphereSystem.HighPressureDelta.cs | 5 ++++- .../Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs | 4 +++- Content.Server/Atmos/EntitySystems/AtmosphereSystem.cs | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.HighPressureDelta.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.HighPressureDelta.cs index 989fed945f..89a42b576b 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.HighPressureDelta.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.HighPressureDelta.cs @@ -140,7 +140,10 @@ namespace Content.Server.Atmos.EntitySystems tile.PressureSpecificTarget = curTile; } - foreach (var entity in _lookup.GetEntitiesIntersecting(tile.GridIndex, tile.GridIndices, 0f)) + _entSet.Clear(); + _lookup.GetLocalEntitiesIntersecting(tile.GridIndex, tile.GridIndices, _entSet, 0f); + + foreach (var entity in _entSet) { // Ideally containers would have their own EntityQuery internally or something given recursively it may need to slam GetComp anyway. // Also, don't care about static bodies (but also due to collisionwakestate can't query dynamic directly atm). diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs index 5b3d869229..8966f232e0 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.Hotspot.cs @@ -165,8 +165,10 @@ namespace Content.Server.Atmos.EntitySystems } var fireEvent = new TileFireEvent(tile.Hotspot.Temperature, tile.Hotspot.Volume); + _entSet.Clear(); + _lookup.GetLocalEntitiesIntersecting(tile.GridIndex, tile.GridIndices, _entSet, 0f); - foreach (var entity in _lookup.GetEntitiesIntersecting(tile.GridIndex, tile.GridIndices, 0f)) + foreach (var entity in _entSet) { RaiseLocalEvent(entity, ref fireEvent); } diff --git a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.cs b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.cs index 07efdb4f67..116ab17211 100644 --- a/Content.Server/Atmos/EntitySystems/AtmosphereSystem.cs +++ b/Content.Server/Atmos/EntitySystems/AtmosphereSystem.cs @@ -38,6 +38,8 @@ public sealed partial class AtmosphereSystem : SharedAtmosphereSystem private const float ExposedUpdateDelay = 1f; private float _exposedTimer = 0f; + private HashSet _entSet = new(); + public override void Initialize() { base.Initialize();