文档

Unity Engine

Unity Engine

WaitUntil

Initializes a yield instruction with a given delegate to be evaluated.
阅读时间1 分钟最后更新于 1 个月前

Definition

  • Type: Constructor
  • Namespace: UnityEngine
  • Assembly: UnityEngine.CoreModule

WaitUntil(Func<bool>)

Initializes a yield instruction with a given delegate to be evaluated.
public WaitUntil(Func<bool> predicate)

Parameters

predicate

Supplied delegate will be evaluated each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate() until delegate returns true.

WaitUntil(Func<bool>, TimeSpan, Action, WaitTimeoutMode)

Initializes a yield instruction with a given delegate to be evaluated.
public WaitUntil(Func<bool> predicate, TimeSpan timeout, Action onTimeout, WaitTimeoutMode timeoutMode = WaitTimeoutMode.Realtime)

Parameters

predicate

Supplied delegate will be evaluated each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate() until delegate returns true.

timeout

Maximum time to wait after creation of the instance for the predicate to return true.

onTimeout

The action to perform when the timeout is reached. Only performed if the predicate fails to return true before the maximum time specified.

timeoutMode

Mode in which to measure time to determine timeout. Real time by default. Can be set to in-game time, which is scaled according to the value of Time.timeScale.

Examples

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!")); }}