public GameObject GetSelected(Vector2 selectedPosition) { List <GameObject> objs = GetPoolObjects(); int closestIndex = 0; float closest = float.PositiveInfinity; float distance; for (int i = 0; i < objs.Count; i++) { if (objs[i].activeSelf) { RectTransform objRect = objs[i].GetComponent <RectTransform>(); distance = Vector2.Distance(selectedPosition, objRect.anchoredPosition + _scroller.GetPosition()); if (distance < closest) { closest = distance; closestIndex = i; } } } return(objs[closestIndex]); }