Мигание щита не выключается после окончания неуязвимости
void OnShieldOn() => StartCoroutine(Blink());
void OnShieldOff() => StopCoroutine(Blink());
IEnumerator Blink()
{
while (true) { renderer.enabled = !renderer.enabled; yield return new WaitForSeconds(0.1f); }
}
OnShieldOff вызывается, но персонаж продолжает мигать. Почему?
- Blink() создаёт новый перечислитель, а не тот
- StopCoroutine работает только в конце кадра
- Бесконечный цикл нельзя остановить снаружи
- WaitForSeconds блокирует остановку корутины
