Удерживайте или подождите, пока корутина завершится.C#

Место общения программистов C#
Anonymous
Удерживайте или подождите, пока корутина завершится.

Сообщение Anonymous »



В приведенном ниже примере, как я могу заставить FinishFirst() завершиться первым перед запуском DoLast(), сохраняя при этом подпись public void StartPage()?



Я пытаюсь избежать того, чтобы StartPage() возвращал IEnumerator, поскольку это заставило бы меня изменить его в интерфейсе. Было бы здорово, если бы мой интерфейс для StartPage() поддерживал как 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");
}


Подробнее здесь: https://stackoverflow.com/questions/973 ... e-finishes

Вернуться в «C#»