Я работаю над системой инвентаризации для Unity 3D. После того, как я уничтожил дочерний объект, я хочу проверить, все еще ли он там.
Проблема: Когда я запускаю программу, она напрямую не регистрирует, что ребенок был удален. Есть кто-то еще с такой же проблемой?
Код Добавить здоровье:
Slot1Child = slot1.transform.childCount; publi c bool Slot1 = true;
if (Slot1Child == 0 & Slot1 == false)
{
Slot1 = true;
Debug.Log("slot 1 is empty");
break;
}
И это вызов из этой функции:
FindObjectOfType<Health>().SetHealthPus();
Destroy(gameObject);
FindObjectOfType<Inventory>().InventoryReset();
Когда игрок берет любой предмет, Slot1 устанавливается в True и Slot1Child устанавливается на количество дочерних элементов в слоте (в данном случае это только один). Проблема в том, что Slot1Child не меняется до того, как я запускаю команду if.
Спасибо за помощь.