Описание
Приостанавливает выполнение сопрограммы до тех пор, пока указанный делегат не примет значение false
.
WaitWhile можно использовать только с оператором yield
в сопрограммах.
Предоставленный делегат будет выполняться в каждом кадре после MonoBehaviour.Update и перед MonoBehaviour.LateUpdate. Когда делегат окончательно оценивается как false
, сопрограмма продолжит свое выполнение.
using UnityEngine;
using System.Collections;
public class WaitWhileExample : MonoBehaviour
{
public int frame;
void Start()
{
StartCoroutine(Example());
}
IEnumerator Example()
{
Debug.Log("Waiting for prince/princess to rescue me...");
yield return new WaitWhile(() => frame < 10);
Debug.Log("Finally I have been rescued!");
}
void Update()
{
if (frame <= 10)
{
Debug.Log("Frame: " + frame);
frame++;
}
}
}
Смотрите так же: AsyncOperation, WaitForEndOfFrame, WaitForFixedUpdate, WaitForSeconds, WaitForSecondsRealtime, WaitUntil.
Конструкторы
WaitWhile | Инициализирует инструкцию yield с заданным делегатом для оценки. |