using GFramework.Game.Abstractions.coroutine; namespace GFramework.Game.coroutine; /// /// 等待直到指定条件满足的协程等待指令 /// /// 用于判断等待条件是否满足的布尔函数委托 public class WaitUntil(Func predicate) : IYieldInstruction { /// /// 获取等待指令是否已完成 /// public bool IsDone { get; private set; } /// /// 更新等待状态,在每一帧调用以检查条件是否满足 /// /// 自上一帧以来的时间间隔 public void Update(float deltaTime) { if (!IsDone) IsDone = predicate(); } }