class in UnityEngine
/
Inherits from:CustomYieldInstruction
/
Implemented in:UnityEngine.CoreModule
Suspends the coroutine execution until the supplied delegate evaluates to false.
WaitWhile can only be used with a yield statement in coroutines.
The supplied delegate is executed each frame after MonoBehaviour.Update and before MonoBehaviour.LateUpdate. When the delegate evaluates to false, the coroutine resumes.
using 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.
| Constructor | Description |
|---|---|
| WaitWhile | Initializes a yield instruction with a given delegate to be evaluated. |
| Property | Description |
|---|---|
| keepWaiting | Indicates if coroutine should be kept suspended. |