From 11f291d1a29d8c903d27a93c35b24249ad16a699 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Wed, 21 May 2025 21:28:42 -0400 Subject: [PATCH] Cleanup warning in `GridInRange` (#37699) Cleanup warning in GridInRange --- Content.Shared/Random/Rules/GridInRange.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Content.Shared/Random/Rules/GridInRange.cs b/Content.Shared/Random/Rules/GridInRange.cs index dfe57b9375..bdc0cedf73 100644 --- a/Content.Shared/Random/Rules/GridInRange.cs +++ b/Content.Shared/Random/Rules/GridInRange.cs @@ -1,5 +1,6 @@ using System.Numerics; using Robust.Shared.Map; +using Robust.Shared.Map.Components; namespace Content.Shared.Random.Rules; @@ -11,6 +12,8 @@ public sealed partial class GridInRangeRule : RulesRule [DataField] public float Range = 10f; + private List> _grids = []; + public override bool Check(EntityManager entManager, EntityUid uid) { if (!entManager.TryGetComponent(uid, out TransformComponent? xform)) @@ -29,10 +32,10 @@ public sealed partial class GridInRangeRule : RulesRule var worldPos = transform.GetWorldPosition(xform); var gridRange = new Vector2(Range, Range); - foreach (var _ in mapManager.FindGridsIntersecting(xform.MapID, new Box2(worldPos - gridRange, worldPos + gridRange))) - { + _grids.Clear(); + mapManager.FindGridsIntersecting(xform.MapID, new Box2(worldPos - gridRange, worldPos + gridRange), ref _grids); + if (_grids.Count > 0) return !Inverted; - } return Inverted; }