using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEngine; namespace Core.Extensions { public static class Components { public static List Collect2D(Vector2 position, float size, LayerMask mask) { Collider2D[] hit = Physics2D.OverlapCircleAll(position, size, mask); List result = new List(); foreach (Collider2D collider in hit) { if (collider.GetComponent() is T component && component != null) { if (component == null) continue; result.Add(component); } } result = result.Where(x => (object)x != null).ToList(); return result; } public static T[] Collect3D(Vector3 position, float size, LayerMask mask) { throw new System.Exception("Not Yet Implemented"); } } }