diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Delay.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Delay.cs
index add6e70..fc32d51 100644
--- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Delay.cs
+++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Delay.cs
@@ -20,12 +20,23 @@ namespace Cysharp.Threading.Tasks
public partial struct UniTask
{
- public static YieldAwaitable Yield(PlayerLoopTiming timing = PlayerLoopTiming.Update)
+ public static YieldAwaitable Yield()
+ {
+ // optimized for single continuation
+ return new YieldAwaitable(PlayerLoopTiming.Update);
+ }
+
+ public static YieldAwaitable Yield(PlayerLoopTiming timing)
{
// optimized for single continuation
return new YieldAwaitable(timing);
}
+ public static UniTask Yield(CancellationToken cancellationToken)
+ {
+ return new UniTask(YieldPromise.Create(PlayerLoopTiming.Update, cancellationToken, out var token), token);
+ }
+
public static UniTask Yield(PlayerLoopTiming timing, CancellationToken cancellationToken)
{
return new UniTask(YieldPromise.Create(timing, cancellationToken, out var token), token);
@@ -34,11 +45,36 @@ namespace Cysharp.Threading.Tasks
///
/// Similar as UniTask.Yield but guaranteed run on next frame.
///
- public static UniTask NextFrame(PlayerLoopTiming timing = PlayerLoopTiming.Update, CancellationToken cancellationToken = default)
+ public static UniTask NextFrame()
+ {
+ return new UniTask(NextFramePromise.Create(PlayerLoopTiming.Update, CancellationToken.None, out var token), token);
+ }
+
+ ///
+ /// Similar as UniTask.Yield but guaranteed run on next frame.
+ ///
+ public static UniTask NextFrame(PlayerLoopTiming timing)
+ {
+ return new UniTask(NextFramePromise.Create(timing, CancellationToken.None, out var token), token);
+ }
+
+ ///
+ /// Similar as UniTask.Yield but guaranteed run on next frame.
+ ///
+ public static UniTask NextFrame(CancellationToken cancellationToken)
+ {
+ return new UniTask(NextFramePromise.Create(PlayerLoopTiming.Update, cancellationToken, out var token), token);
+ }
+
+ ///
+ /// Similar as UniTask.Yield but guaranteed run on next frame.
+ ///
+ public static UniTask NextFrame(PlayerLoopTiming timing, CancellationToken cancellationToken)
{
return new UniTask(NextFramePromise.Create(timing, cancellationToken, out var token), token);
}
+
///
/// Same as UniTask.Yield(PlayerLoopTiming.LastPostLateUpdate).
///