1234567891011121314151617181920212223242526272829303132333435 |
- using System.Collections;
- using UnityEngine;
-
- namespace Unity.VisualScripting
- {
- /// <summary>
- /// Delays flow by waiting while a condition is true.
- /// </summary>
- [UnitTitle("Wait While")]
- [UnitShortTitle("Wait While")]
- [UnitOrder(3)]
- public class WaitWhileUnit : WaitUnit
- {
- /// <summary>
- /// The condition to check.
- /// </summary>
- [DoNotSerialize]
- 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;
- }
- }
- }
|