WaitWhile
Initializes a yield instruction with a given delegate to be evaluated.
Read time 1 minuteLast updated 5 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 .
falseWaitWhile(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 .
falseMaximum time to wait after creation of the instance for the predicate to return .
falseThe action to perform when the is reached. Only performed if the predicate fails to return before the maximum time specified.
timeoutfalseMode in which to measure time to determine . Real time by default. Can be set to in-game time, which is scaled according to the value of Time.timeScale.
timeoutExamples
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!")); }}