コルーチン
Unityでは独自拡張されて処理の中断とかに使ったりする。
C#自体のコルーチン
system.Collections.Generic.IEnumerator
実行する度に結果が変わるメソッド。みたいな振る舞いをしてる
Unityのコルーチン
code:cs
public class Test : MonoBehaviour {
void Start () {
StartCoroutine ("Sample"); // コルーチンを実行
}
private IEnumerator Sample() {
// コルーチンの処理
}
}
コルーチンの中からコルーチンを呼び、親のコルーチンが子のコルーチン完了を待つなら
yield return HogeCoroutine(); で良い
待たないなら普通にStartCoroutine(HogeCoroutine());
コルーチンの中断
yield break;
yield return; は次のフレームまで待機なので注意
できないこと
コルーチンの中身をラムダ式っぽく書く
コルーチンを後から連結したりする
コルーチンから値を返す
Unity上での動作には課題があるので非推奨