Удерживайте или подождите, пока корутина завершится.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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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