挂起协程执行,直到提供的委托评估为true
。
WaitUntil 只能与协程中的yield
语句一起使用。
提供的委托将在脚本MonoBehaviour.Update之后和MonoBehaviour.LateUpdate之前每次帧执行。当委托最终评估为true
时,协程将继续执行。
其他资源:AsyncOperation、WaitForEndOfFrame、WaitForFixedUpdate、WaitForSeconds、WaitForSecondsRealtime、WaitWhile。
using UnityEngine; using System.Collections;
public class WaitUntilExample : MonoBehaviour { public int frame;
void Start() { StartCoroutine(Example()); }
IEnumerator Example() { Debug.Log("Waiting for princess to be rescued..."); yield return new WaitUntil(() => frame >= 10); Debug.Log("Princess was rescued!"); }
void Update() { if (frame <= 10) { Debug.Log("Frame: " + frame); frame++; } } }
WaitUntil | 使用给定的委托初始化一个 yield 指令以进行评估。 |
keepWaiting | 指示是否应保持协程挂起。 |