Как, после получения урона персонажем, дать ему неуязвимость на время?
Столкнулся с проблемой:нужно сделать для игрока неуязвимость на определенное количество времени и это должно работать при нажатии на кнопку
Ответы (1 шт):
Автор решения: Максим Фисман
→ Ссылка
private bool isInvulnerable;
private IEnumerator setInvulnerability (float time) {
isInvulnerable = true;
yield return new WaitForSeconds(time);
isInvulnerable = false;
}
private void onGetDamage () {
if (!isInvulnerable) {
// Получение урона только если НЕ неуязвимый
}
}
setInvulnerability() вызывается c помощью StartCoroutine(setInvulnerability());
P.S.: В заголовке у вас написано, что неуязвимость после получения урона, в вопросе - по кнопке. В общем, я вам дал метод, а вызвать его можно и из OnClick и в конце onGetDamage() - где хотите.
P.S. 2: Ни в русском, ни в английском нет короткого слова для "неуязвимость", а Invulnerability - долго и легко опечататься, советую использовать предложенную Methorn переменную IsImmortal, ибо immortal - бессмертный