using UnityEngine; namespace Saltosion.OneWeapon { public class Util { public static T GetClosestTo(Transform target, float radius) where T : MonoBehaviour { Collider2D[] NearbyColliders = Physics2D.OverlapCircleAll(target.position, radius); float LowestDistance = float.PositiveInfinity; T FoundTarget = null; foreach (Collider2D Collider in NearbyColliders) { float Distance = (Collider.transform.position - target.position).magnitude; T TargetComponent = Collider.GetComponent(); if (TargetComponent != null && Distance < LowestDistance && Collider.gameObject != target.gameObject) { LowestDistance = Distance; FoundTarget = TargetComponent; } } return FoundTarget; } } }