Задать вопрос
@Wexagon

Как починить работу оператора Иф?

Стандартный класс юнити, проблемный if находится в Update()
ниже находятся 2 метода типа бул, ошибка работы проявляется в том, что if срабатывает даже при случае если оба метода возвращают ложь, то есть && игнорируется. Впервые с таким столкнулся, при гугле вопроса я получаю нужное решение, но я не понимаю чем эта ошибка вызывается и как этим решением исправить конкретно мой код. Спасибо за внимание
if ((InteractInput() && DetectObject()))
        {
                Debug.Log(InteractInput() && DetectObject());
                EveryInteract(detectedObject);
                detectedObject = null;

        }
    }

    bool InteractInput()
    {
        if (canBeInteraction == true)
        {
            return Input.GetKeyDown(KeyCode.Z);
        }
        else
        {
            return false;
        }
        
    }
    bool DetectObject()
    {
        Collider2D obj = Physics2D.OverlapCircle(detectionPoint.position, detectionRadius, detectionLayer);
        if (obj == null)
        {
            detectedObject = null;
            return false;
        }
        else
        {
            detectedObject = obj.gameObject;
            return true;
        }

    }
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы