public static IFpromise WaitUntilOrForSeconds(Func <bool> condition, float secondsToReject) { var promise = new Fpromise(); var routine = _ResolveAfterCondition(promise, condition); var coroutine = Fcoroutine.Start(routine); WaitForSeconds(secondsToReject) .Then(() => { if (coroutine != null) { Fcoroutine.Stop(coroutine); } promise.SoftReject(new Exception("FpromiseWaitUntilOrForSecondsTimeoutException")); }); return(promise); }