Удерживайте или подождите, пока корутина завершится. ⇐ C#
-
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
В приведенном ниже примере, как я могу заставить 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
Мобильная версия