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