using GFramework.Core.Abstractions.coroutine; namespace GFramework.Core.coroutine; /// /// 等待条件为假时继续执行的协程等待指令 /// /// 用于判断是否继续等待的布尔函数委托 public class WaitWhile(Func predicate) : IYieldInstruction { /// /// 获取当前等待指令是否已完成 /// public bool IsDone { get; private set; } /// /// 更新等待状态 /// /// 时间增量 public void Update(float deltaTime) { // 当前未完成时,检查谓词条件来更新完成状态 if (!IsDone) IsDone = !predicate(); } /// /// 重置等待指令状态 /// public void Reset() { IsDone = false; } }