MonoBehaviour.StartCoroutine возвращает Coroutine. Экземпляры этого класса используются только для ссылки на эти функции, и не хранят никакие доступные свойства или методы.
Корутин это функция, которая может приостанавливать свое выполнение (yield), до тех пор пока не завершится YieldInstruction.
// - prints "Starting 0.0" // - prints "WaitAndPrint 5.0" // - prints "Done 5.0"
function Start() { print ("Starting " + Time.time); // Start function WaitAndPrint as a coroutine yield WaitAndPrint(); print ("Done " + Time.time); }
function WaitAndPrint () { // suspend execution for 5 seconds yield WaitForSeconds (5); print ("WaitAndPrint "+ Time.time); }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { IEnumerator WaitAndPrint() { // suspend execution for 5 seconds yield return new WaitForSeconds(5); print("WaitAndPrint " + Time.time); } IEnumerator Start() { print("Starting " + Time.time);
// Start function WaitAndPrint as a coroutine yield return StartCoroutine("WaitAndPrint"); print("Done " + Time.time); } }