using System.Collections.Generic; using System.Linq; using UnityEngine; // ReSharper disable once CheckNamespace namespace QFX.SFX { public static class SFX_ObjectAreaFinder { public static List FindObjects(Vector3 position, float areaRadius, LayerMask layerMask) { var colliders = Physics.OverlapSphere(position, areaRadius, layerMask); var objectsOfType = colliders.Where(c => c.GetComponent() != null) .Select(c => c.GetComponent()); return objectsOfType.ToList(); } public static List FindObjects(Vector3 position, float areaRadius, LayerMask layerMask, string tag) { var colliders = Physics.OverlapSphere(position, areaRadius, layerMask); var result = !string.IsNullOrEmpty(tag) ? colliders.Where(c => c.tag == tag).ToList() : colliders.ToList(); return result; } } }