public static UniTask.Awaiter GetAwaiter <T>(this T enumerator) where T : IEnumerator { var e = (IEnumerator)enumerator; Error.ThrowArgumentNullException(e, nameof(enumerator)); return(new UniTask(EnumeratorPromise.Create(e, PlayerLoopTiming.Update, CancellationToken.None, out var token), token).GetAwaiter()); }
public static UniTask ToUniTask(this IEnumerator enumerator, PlayerLoopTiming timing = PlayerLoopTiming.Update, CancellationToken cancellationToken = default(CancellationToken)) { Error.ThrowArgumentNullException(enumerator, nameof(enumerator)); return(new UniTask(EnumeratorPromise.Create(enumerator, timing, cancellationToken, out var token), token)); }