Для начала упрости себе работу и опиши объект. Эти же ООП. На каждом из сердечек скрипт heart_ui. У сердечка может быть три состояния: неактивно (нет спрайта), целое, сломанное. Делаешь такой enum HeartState. Делаешь метод SetState, передаешь новое состояние, внутри switch case. Снаружи у тебя есть контейнер с layout и повешенным на него скриптом Hearts_ui. В нём массив heart_ui. Когда получаешь новое сердечко, находишь первое в массиве неактивное, делаешь ему состояние целое. Когда получаешь урон, находишь первое в массиве целое, делаешь сломанным.
Int maxHealth = 12 Int[] health = new int[maxHealth - 1] // пусть 1- есть здоровье Int currentHealth = maxHealth fun takeDmg(int damage){ health[currentHealth-1] = 0 currentHealth— } Можно покрасивее, но это прям в лоб
Очередной гений вместо изучения языка полез в гейдев и теперь в душе не ебет че и как работает. Какая же классика
Комментарий недоступен
Для начала упрости себе работу и опиши объект. Эти же ООП. На каждом из сердечек скрипт heart_ui. У сердечка может быть три состояния: неактивно (нет спрайта), целое, сломанное. Делаешь такой enum HeartState. Делаешь метод SetState, передаешь новое состояние, внутри switch case.
Снаружи у тебя есть контейнер с layout и повешенным на него скриптом Hearts_ui. В нём массив heart_ui.
Когда получаешь новое сердечко, находишь первое в массиве неактивное, делаешь ему состояние целое. Когда получаешь урон, находишь первое в массиве целое, делаешь сломанным.
Комментарий недоступен
Комментарий недоступен
А зачем кратность?
Безотносительно Unity - самый простой вариант с ходу - массив. И с конца его обходить.
Int maxHealth = 12
Int[] health = new int[maxHealth - 1] // пусть 1- есть здоровье
Int currentHealth = maxHealth
fun takeDmg(int damage){
health[currentHealth-1] = 0
currentHealth—
}
Можно покрасивее, но это прям в лоб