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 9cbe2ed..72fcc05 100644 --- a/src/UniTask/Assets/Plugins/UniTask/Runtime/External/DOTween/DOTweenAsyncExtensions.cs +++ b/src/UniTask/Assets/Plugins/UniTask/Runtime/External/DOTween/DOTweenAsyncExtensions.cs @@ -105,17 +105,15 @@ namespace Cysharp.Threading.Tasks if (!tween.IsActive()) return UniTask.CompletedTask; - var registration = cancellationToken.Register(() => - { - if (tween.IsActive()) - { - tween.Kill(); - } - }); + using var registration = cancellationToken.Register(() => + { + if (tween.IsActive()) + { + tween.Kill(); + } + }); - tween.OnKill((() => registration.Dispose())); - - return tween.ToUniTask(TweenCancelBehaviour.KillAndCancelAwait, cancellationToken); + return tween.ToUniTask(TweenCancelBehaviour.KillAndCancelAwait, cancellationToken); } public struct TweenAwaiter : ICriticalNotifyCompletion