Итак, я пытаюсь уничтожить врагов в цикле while, ожидая 1 секунду между ними (могут ли они немного усложнить ожидание??). Проблема в том, что все враги уничтожаются одновременно, они не ждут WaitForSEconds. В моем цикле while я вызываю каждого врага по его тегу, который идет от Enemy1 до Enemy5. Вот мой код.
void OnTriggerEnter(Collider otherObject)
{
int i=1;
while (i<=numenemies)
{
string tag="Enemy"+i;
destroyenemy=GameObject.FindGameObjectWithTag(tag);
Destroy(destroyenemy);
i++;
StartCoroutine(DestroyWait ());
}
}
IEnumerator DestroyWait()
{
Debug.Log ("so far...");
yield return new WaitForSeconds (1);
Debug.Log ("so good");
}
В моей консоли из моего журнала отладки я получаю 4 «пока что ...», а затем 4 «так хорошо». это не ожидание 1 секунды, а затем вывод так хорошо.
Я читал об этом, и, чувак, так сложно просто приостановить сценарий на 1 секунду! Что я делаю не так?