WaitWhile
Suspends the coroutine execution until the supplied delegate evaluates to false.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Class
- Namespace: UnityEngine
- Assembly: UnityEngine.CoreModule
- Inherits from: CustomYieldInstruction
- Implements: IEnumerator
public sealed class WaitWhile : CustomYieldInstruction, IEnumerator
Remarks
WaitWhileyieldThe supplied delegate is executed each frame after MonoBehaviour.Update() and before MonoBehaviour.LateUpdate(). When the delegate evaluates to , the coroutine resumes.
falseusing UnityEngine;using System.Collections;public class WaitWhileExample : MonoBehaviour{ public int frame; void Start() { StartCoroutine(Example()); } IEnumerator Example() { Debug.Log("Waiting for prince/princess to rescue me..."); yield return new WaitWhile(() => frame < 10); Debug.Log("Finally I have been rescued!"); } void Update() { if (frame <= 10) { Debug.Log("Frame: " + frame); frame++; } }}
Additional Resources: AsyncOperation, WaitForEndOfFrame, WaitForFixedUpdate, WaitForSeconds, WaitForSecondsRealtime, WaitUntil.
Constructors
Constructor | Description |
|---|---|
| WaitWhile(System.Func{System.Boolean}) | Initializes a yield instruction with a given delegate to be evaluated. |
| WaitWhile(System.Func{System.Boolean},System.TimeSpan,System.Action,UnityEngine.WaitTimeoutMode) | Initializes a yield instruction with a given delegate to be evaluated. |