如下:
public class UIUtility
{
//检查鼠标是否在UGUI上
public static bool IsPointerOnUI
{
get
{
if (EventSystem.current != null)
{
PointerEventData eventData = new PointerEventData(EventSystem.current);
eventData.position = new Vector2(Input.mousePosition.x, Input.mousePosition.y);
List<RaycastResult> results = new List<RaycastResult>();
EventSystem.current.RaycastAll(eventData, results);
return results.Count > 0;
}
return false;
}
}
//检查是否处于InputField输入状态
public static bool IsInputing
{
get
{
if (!EventSystem.current) return false;
if (!EventSystem.current.currentSelectedGameObject) return false;
return EventSystem.current.currentSelectedGameObject.GetComponent<InputField>();
}
}
}