Currentとは
StartCoroutineで呼ばれているIEnumeratorメソッド内ではCurrent
を返さないとダメらしい。
こちらも参考
あとは、関係ないがvoidを返す普通のメソッドでの実験
実験その1
void TestMethod() { // do something IEnumerator co = ienu(); while(co.MoveNext()) { } } IEnumerator ienu() { yield return null; Debug.Log(1); yield return "HOGE"; Debug.Log(2); yield return null; Debug.Log(3); yield break; }
voidのメソッドから単にIEnumeratorのメソッドを呼ぶにはこれでOK。
1 2 3
が出力される。
実験その2
void TestMethod() { // do something IEnumerator co = ienu(); while(co.MoveNext()) { Debug.Log(co.Current); } } IEnumerator ienu() { yield return null; yield return "HOGE"; yield return null; yield break; }
CurrentをDebugすると、Logメソッドでstring変換されたものが返却される。
Null HOGE Null
yield return null;
をしたからといって中断されるわけではない。