Использование сопрограммы для таймера, не могу заставить его работать

1
IEnumerator KillZombie() {
    yield return new WaitForSeconds(zombieDeathDelay); // waits for zombie corpse removal delay
    PhotonNetwork.Destroy(gameObject);
    Debug.Log("Zombie Died");
    nm.zombieDied();
}

Я использую это как сопрограмму, но по какой-то причине никогда, похоже, фактически не выполняет код для уничтожения моего игрового объекта. Я не могу понять, почему, поэтому любая помощь будет отличной.

  • 0
    ты запустилCoroutine (KillZombie ())?
  • 0
    Убедитесь, что zombieDeathDelay является значением в секундах, поэтому что-то вроде «1». Можно ошибиться, например, за миллисекунды.
Показать ещё 1 комментарий
Теги:
unity3d

1 ответ

0

Код выглядит корректно в целом. Вы пробовали установить контрольную точку в вызове Destroy, чтобы узнать, даже ли она туда попала?

(Я знаю, что это не ответ, но мне не хватает репутации на этом сайте, чтобы прокомментировать... По-видимому, мой представитель на GDSE здесь не учитывается... на самом деле это должно было быть задано в разделе "Разработка игр" Обмен)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню