挂起协程执行,直到提供的委托评估为 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 指令,以进行评估。 |
keepWaiting | 指示是否应保持协程挂起。 |