Управление корутинами
Автор: Дмитрий Прокопьев
Как запустить корутину?
Для этого в классе MonoBehaviour есть метод StartCoroutine
, он принимает в себя IEnumerator
- результат вызова метода корутины:
Как сохранить корутину?
Сохранять корутину нужно не всегда, иногда мы можем запустить ее и забыть про нее. Но если мы хотим дальше ее контролировать, то ее будет удобно сохранить в поле:
Как остановить корутину?
Для остановки в классе MonoBehaviour
есть метод StopCoroutine
:
В качестве параметра он принимает в себя экземпляр класса Coroutine
- ту корутину, которую мы хотим остановить. Для этого мы обычно корутины и сохраняем.
Важно. До первой инициализации поле с корутиной будет равно null
. Важно предусмотреть это:
А так можно остановить все корутины на объекте:
Важно. Мы используем метод StopAllCoroutines()
только когда хотим остановить все без исключения корутины компонента. Такие сценарии крайне редкие, поэтому и метод мы применяем редко.
Полноценный пример управления корутиной
Last updated
Was this helpful?