IsPointerOverGameObject всегда возвращает false для касания - PullRequest
1 голос
/ 04 июля 2019

IsPointerOverGameObject всегда возвращает false для касания.Я перепробовал все решения, которые смог найти.

Он отлично работает в редакторе - клики блокируются при падении через пользовательский интерфейс, но нет мобильного, этот метод всегда возвращает false.

Вот мой код:

private static bool IsPointerOverGameObject()
    {
        bool isPointerOverGameObject = EventSystem.current.IsPointerOverGameObject();

        for (int i = 0; i < Input.touchCount; i++)
        {
            Touch touch = Input.touches[i];
            if (touch.phase != TouchPhase.Canceled && touch.phase != TouchPhase.Ended)
            {
                if (EventSystem.current.IsPointerOverGameObject(Input.touches[i].fingerId))
                {
                    isPointerOverGameObject = true;
                    break;
                }
            }
        }

        return isPointerOverGameObject;
    }

public void OnMouseDown()
{
    if (IsPointerOverGameObject())
    {
        return;
    }

    // code
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...