using GFramework.Core.Abstractions.coroutine; namespace GFramework.Core.coroutine; /// /// 表示一个等待直到指定条件满足的协程指令 /// /// 用于判断条件是否满足的函数委托 public sealed class WaitUntil(Func predicate) : IYieldInstruction { private readonly Func _predicate = predicate ?? throw new ArgumentNullException(nameof(predicate)); /// /// 更新协程状态(此实现中不需要处理时间) /// /// 时间增量 public void Update(double deltaTime) { // 不需要时间 } /// /// 获取协程指令是否已完成 /// public bool IsDone => _predicate(); }