Буду краток: игрок подходит к еде и, при нажатии на E, пополняет полоску голода. Проблема кроется где-то в моменте нажатия кнопки E, так как без этой части кода всё прекрасно работает. Если переменную bool, отвечающую за нажатие E, сделать публичной, то видно, что само нажатие срабатывает, но код, что идёт в дальнейшем, почему-то нет.
void OnCollisionEnter2D(Collision2D coll)
{
if(coll.gameObject.GetComponent<Properties_food>() != null) //проверка на то, есть ли у объекта нужный скрипт
{
dataFood = coll.gameObject.GetComponent<Properties_food>();
if(isE == true) //проверка bool, отвечающая за нажатие кнопки
{
if(dataFood.kind == "fruit")
{
attribute.hunger += dataFood.satiety;
dataFood.bulk -= 5.0f;
}
if(dataFood.kind == "meat" || dataFood.kind == "fish")
{
attribute.poisoning += dataFood.satiety;
dataFood.bulk -= 5.0f;
}
}
}
}
if(isE == true)видимо может сработать только если кнопка уже нажата при подходе. – user7860670 May 29 '20 at 21:06