![]() |
можно-ли моментально прервать КОРОУТИН во время выполнения "ожидания" ?
Всем привет, подскажите по короутинам, можно-ли моментально прервать этот метод во время выполнения "ожидания" ? StopCoroutine не то, он выполняется только когда коротин заканчивает свой "шаг ожидания". Ну например выполняется yield return new WaitForSeconds(10) , и тут прежде чем прошло 10 секунд, я хочу завершить это "ожидание".
вот есть у меня: IEnumerator Down() { for (int i=k;i>-1;i--) { ii=i; if (i==1 && s==1) { t=0.1f; } //////Когда выполнилось условие ниже, надо прервать выполнение этого метода МОМЕНТАЛЬНО if (faz==true) { t=0.0f; StartCoroutine(Up()); GameObject.Find("Main Camera").GetComponent<mainscript>().skore++; if (a[0]==shagost1) b[0]=0; if (a[2]==shagost3) b[2]=0; shag=(k-1)*2; shagost=shag; yield break; } else { shagost--; } guiTexture.texture=foods[i]; guiTexture.pixelInset=new Rect(-Screen.width*0.07f,Screen.height*pos[i],Screen.height*0.08f,Screen.height*0.08f); yield return new WaitForSeconds(t); } } yield break-вроде не помогает |
Ответ: можно-ли моментально прервать КОРОУТИН во время выполнения "ожидания" ?
yield break прерывает корутину на этом месте. StopCoroutine останавливает ее если она что-то ожидает по yield return new WaitХХХ() или когда доходит до следующего yield.
И я не понял что значит МОМЕНТАЛЬНО? |
Ответ: можно-ли моментально прервать КОРОУТИН во время выполнения "ожидания" ?
Цитата:
|
Ответ: можно-ли моментально прервать КОРОУТИН во время выполнения "ожидания" ?
Сработает на следующем после вызова функции yield
|
Часовой пояс GMT +4, время: 19:27. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot