Использование циклов в корутинах

Изменим код “действия 2” так, чтобы вывод сообщений происходил в цикле:

[Action(English: "action 2", Russian: "действие 2")]
    public IEnumerator Action2()
    {
        int maxCount = 3;
        for (int i = 0; i < maxCount; i++)
        {
            Debug.Log($"Message 2.{i}");
            yield return new WaitForEndOfFrame();
        }
    }

Теперь в течение трех кадров в консоль будут выведены сообщения:

../../../_images/image_67.png

При этом, используя другие инструкции, интервал ожидания можно также задать, например, в секундах:

[Action(English: "action 2", Russian: "действие 2")]
    public IEnumerator Action2()
    {
        int maxCount = 3;
        for (int i = 0; i < maxCount; i++)
        {
            Debug.Log($"Message 2.{i}");
            yield return new WaitForSeconds(1);
        }
    }

Таким образом, после начала исполнения приложения, в консоль три раза будет выведено сообщение с интервалом в одну секунду.