WaitWhile
Initializes a yield instruction with a given delegate to be evaluated.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Constructor
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
WaitWhile(Func<bool>)
Initializes a yield instruction with a given delegate to be evaluated.
public WaitWhile(Func<bool> predicate)
Parameters
The supplied delegate will be evaluated each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate() until delegate returns false.
WaitWhile(Func<bool>, TimeSpan, Action, WaitTimeoutMode)
Initializes a yield instruction with a given delegate to be evaluated.
public WaitWhile(Func<bool> predicate, TimeSpan timeout, Action onTimeout, WaitTimeoutMode timeoutMode = WaitTimeoutMode.Realtime)
Parameters
The supplied delegate will be evaluated each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate() until delegate returns false.
Maximum time to wait after creation of the instance for the predicate to return false.
The action to perform when the timeout is reached. Only performed if the predicate fails to return false before the maximum time specified.
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 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!")); }}