predicate | 在 MonoBehaviour.Update 之后和 MonoBehaviour.LateUpdate 之前,每个帧都会评估提供的委托,直到委托返回 false 。 |
使用给定的委托初始化一个 yield 指令以进行评估。
predicate | 在 MonoBehaviour.Update 之后和 MonoBehaviour.LateUpdate 之前,每个帧都会评估提供的委托,直到委托返回 false 。 |
timeout | 在实例创建后,等待 predicate 返回 false 的最长时间。 |
onTimeout | 达到 timeout 时要执行的操作。仅当 predicate 在指定的最大时间之前未能返回 false 时执行。 |
timeoutMode | 用于测量时间以确定 timeout 的模式。默认情况下为实时。可以设置为游戏内时间,该时间根据 Time.timeScale 的值进行缩放。 |
使用给定的委托初始化一个 yield 指令以进行评估。
using UnityEngine; using System; using System.Collections;
public class WaitWhileExample : MonoBehaviour { public bool buttonPressed;
void Start() { StartCoroutine(Example()); }
IEnumerator Example() { Debug.Log("Waiting for button to be pressed..."); yield return new WaitWhile(() => !buttonPressed, TimeSpan.FromSeconds(3), () => Debug.Log("button was not pressed in time!")); } }