From 402e11b86959d70cb24da9159b77f86f2606fb23 Mon Sep 17 00:00:00 2001 From: Gabe <17952367+Glebzex@users.noreply.github.com> Date: Thu, 25 Aug 2022 15:37:56 +0200 Subject: [PATCH] Add DOTween async TweenCallback --- .../UniTask/Runtime/UniTask.Factory.cs | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) 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 ///