Стандартный класс юнити, проблемный 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;
}
}