public static IEnumerator ToCoroutine(this UniTask task, Action <Exception> exceptionHandler = null) { return(new ToCoroutineEnumerator(task, exceptionHandler)); }
public WithCancellationSource(UniTask task, CancellationToken cancellationToken) { this.cancellationToken = cancellationToken; this.tokenRegistration = cancellationToken.RegisterWithoutCaptureExecutionContext(cancellationCallbackDelegate, this); RunTask(task).Forget(); }
public static IEnumerator ToCoroutine <T>(this UniTask <T> task, Action <T> resultHandler = null, Action <Exception> exceptionHandler = null) { return(new ToCoroutineEnumerator <T>(task, resultHandler, exceptionHandler)); }
public static AsyncLazy ToAsyncLazy(this UniTask task) { return(new AsyncLazy(task)); }
public static AsyncLazy <T> ToAsyncLazy <T>(this UniTask <T> task) { return(new AsyncLazy <T>(task)); }
public static UniTask <T[]> .Awaiter GetAwaiter <T>(this IEnumerable <UniTask <T> > tasks) { return(UniTask.WhenAll(tasks).GetAwaiter()); }
/// <summary> /// Same as UniTask.Yield(PlayerLoopTiming.FixedUpdate). /// </summary> public static YieldAwaitable WaitForFixedUpdate() { return(UniTask.Yield(PlayerLoopTiming.FixedUpdate)); }
/// <summary> /// Same as UniTask.Yield(PlayerLoopTiming.LastPostLateUpdate). /// </summary> public static YieldAwaitable WaitForEndOfFrame() { return(UniTask.Yield(PlayerLoopTiming.LastPostLateUpdate)); }
public UniTask ToUniTask() { return(UniTask.Yield(timing, CancellationToken.None)); }
static CanceledUniTaskCache() { Task = new UniTask <T>(new CanceledResultSource <T>(CancellationToken.None), 0); }
/// <summary> /// Same as UniTask.Yield(PlayerLoopTiming.FixedUpdate, cancellationToken). /// </summary> public static UniTask WaitForFixedUpdate(CancellationToken cancellationToken) { return(UniTask.Yield(PlayerLoopTiming.FixedUpdate, cancellationToken)); }
public static void CancelAfterSlim(this CancellationTokenSource cts, TimeSpan delayTimeSpan, bool ignoreTimeScale = false, PlayerLoopTiming delayTiming = PlayerLoopTiming.Update) { var delay = UniTask.Delay(delayTimeSpan, ignoreTimeScale, delayTiming, cts.Token); CancelAfterCore(cts, delay).Forget(); }
public static async UniTask WaitAsync(this JobHandle jobHandle, PlayerLoopTiming waitTiming) { await UniTask.Yield(waitTiming); jobHandle.Complete(); }
// shorthand of WhenAll public static UniTask.Awaiter GetAwaiter(this UniTask[] tasks) { return(UniTask.WhenAll(tasks).GetAwaiter()); }
/// <summary> /// Timeout with suppress OperationCanceledException. Returns (bool IsTimeout, T Result). /// </summary> public static async UniTask <(bool IsTimeout, T Result)> TimeoutWithoutException <T>(this UniTask <T> task, TimeSpan timeout, DelayType delayType = DelayType.DeltaTime, PlayerLoopTiming timeoutCheckTiming = PlayerLoopTiming.Update, CancellationTokenSource taskCancellationTokenSource = null) {
/// <summary> /// Same as UniTask.Yield(PlayerLoopTiming.LastPostLateUpdate, cancellationToken). /// </summary> public static UniTask WaitForEndOfFrame(CancellationToken cancellationToken) { return(UniTask.Yield(PlayerLoopTiming.LastPostLateUpdate, cancellationToken)); }
public static bool IsCompleted(this Cysharp.Threading.Tasks.UniTask that) => that.GetAwaiter().IsCompleted;
public static UniTask <T[]> .Awaiter GetAwaiter <T>(this UniTask <T>[] tasks) { return(UniTask.WhenAll(tasks).GetAwaiter()); }