private T GetUICloseToScreenPosition <T>(Camera camera, Vector3 screenPosition, float proximityDistance) where T : Component { // TODO : very ugly, this of course is only temporary T[] list = GameObjectExtension.FindObjectsOfTypeAndLayer <T>(LayerMask.NameToLayer("UI")); foreach (var o in list) { if (camera.GetWorldPosCloseToScreenPos(o.transform.position, screenPosition, proximityDistance)) { return(o); } } return(null); }