以下の例では、DoLast()を実行する前にFinishFirst()を最初に完了させ、 'public void StartPage()'の署名は保持しますか?Coroutineが終了するまで待機または待機する
私はインターフェイスでそれを変更するために私を強制するよう「スタートページは、()」のIEnumeratorを返すことを避けるためにしようとしています。 StartPage()用の私のInterfaceが両方を実装する必要なしにIEnumeratorとVoidの両方をサポートしていれば素晴らしいでしょう。
ロック・オブジェクトの使用は動作するはずpublic void StartPage()
{
print("in StartPage()");
StartCoroutine(FinishFirst(5.0f));
DoLast();
print("done");
}
IEnumerator FinishFirst(float waitTime)
{
print("in FinishFirst");
yield return WaitForSeconds(waitTime);
print("leave FinishFirst");
}
void DoLast()
{
print("do after everything is finished");
}
私はSystem.Threading.Tasksがデフォルトで許可されているとは思わないし、BeginInvoke Unityを使用しようとするとIAsyncResultの定義が見つからないようだ... – user1229895
タイトルに "C#/ Unity: "など。それがタグのためのものです。 –