diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs index 2f6a6a9..bd3bded 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/UniTask.Factory.cs @@ -157,6 +157,28 @@ namespace Cysharp.Threading.Tasks return () => asyncAction(cancellationToken).Forget(); } +#endif + +#if UNITASK_DOTWEEN_SUPPORT + + /// + /// Create async void(UniTaskVoid) TweenCallback. + /// For example: tween.OnComplete(UniTask.TweenCallback(async () => { /* */ } )) + /// + public static DG.Tweening.TweenCallback TweenCallback(Func asyncAction) + { + return () => asyncAction().Forget(); + } + + /// + /// Create async void(UniTaskVoid) TweenCallback. + /// For example: tween.OnComplete(UniTask.TweenCallback(FooAsync, this.GetCancellationTokenOnDestroy())) + /// + public static DG.Tweening.TweenCallback TweenCallback(Func asyncAction, CancellationToken cancellationToken) + { + return () => asyncAction(cancellationToken).Forget(); + } + #endif ///