Maze / Library /PackageCache /com.unity.visualscripting@1.8.0 /Runtime /VisualScripting.Flow /Framework /Time /WaitWhileUnit.cs
| using System.Collections; | |
| using UnityEngine; | |
| namespace Unity.VisualScripting | |
| { | |
| /// <summary> | |
| /// Delays flow by waiting while a condition is true. | |
| /// </summary> | |
| [] | |
| [] | |
| [] | |
| public class WaitWhileUnit : WaitUnit | |
| { | |
| /// <summary> | |
| /// The condition to check. | |
| /// </summary> | |
| [] | |
| public ValueInput condition { get; private set; } | |
| protected override void Definition() | |
| { | |
| base.Definition(); | |
| condition = ValueInput<bool>(nameof(condition)); | |
| Requirement(condition, enter); | |
| } | |
| protected override IEnumerator Await(Flow flow) | |
| { | |
| yield return new WaitWhile(() => flow.GetValue<bool>(condition)); | |
| yield return exit; | |
| } | |
| } | |
| } | |