public ILight[] LightsIntersectingRect(MapId mapId, Box2 rect) { if (rect.IsEmpty()) { return(new ILight[0]); } return(_lights .FindAll(l => l.Coordinates.MapID == mapId && Box2.FromDimensions(l.LightPosition - l.LightMapSize / 2, l.LightMapSize).Intersects(rect)) .ToArray()); }