From 5837b262086265c7321ede8d4292646429cc1178 Mon Sep 17 00:00:00 2001 From: cuibeibei Date: Wed, 28 Oct 2020 18:48:10 +0800 Subject: [PATCH] [DoTween]:fix CancellationToken can't stop UniTask --- .../External/DOTween/DOTweenAsyncExtensions.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/UniTask/Assets/Plugins/UniTask/Runtime/External/DOTween/DOTweenAsyncExtensions.cs b/src/UniTask/Assets/Plugins/UniTask/Runtime/External/DOTween/DOTweenAsyncExtensions.cs index 32f190e..ebe8aa4 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/External/DOTween/DOTweenAsyncExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/External/DOTween/DOTweenAsyncExtensions.cs @@ -223,6 +223,17 @@ namespace Cysharp.Threading.Tasks void OnCompleteCallbackDelegate() { + if (cancellationToken.IsCancellationRequested) + { + if (this.cancelBehaviour == TweenCancelBehaviour.KillAndCancelAwait + || this.cancelBehaviour == TweenCancelBehaviour.KillWithCompleteCallbackAndCancelAwait + || this.cancelBehaviour == TweenCancelBehaviour.CompleteAndCancelAwait + || this.cancelBehaviour == TweenCancelBehaviour.CompleteWithSeqeunceCallbackAndCancelAwait + || this.cancelBehaviour == TweenCancelBehaviour.CancelAwait) + { + canceled = true; + } + } if (canceled) { core.TrySetCanceled(cancellationToken);