Fixed bug with OnKill delegate overriding

pull/434/head
Artem Ovchinnikov 2023-01-08 11:40:11 +03:00
parent 5e266f5538
commit 03ef341096
1 changed files with 8 additions and 10 deletions

View File

@ -105,17 +105,15 @@ namespace Cysharp.Threading.Tasks
if (!tween.IsActive()) return UniTask.CompletedTask; if (!tween.IsActive()) return UniTask.CompletedTask;
var registration = cancellationToken.Register(() => using var registration = cancellationToken.Register(() =>
{ {
if (tween.IsActive()) if (tween.IsActive())
{ {
tween.Kill(); tween.Kill();
} }
}); });
tween.OnKill((() => registration.Dispose())); return tween.ToUniTask(TweenCancelBehaviour.KillAndCancelAwait, cancellationToken);
return tween.ToUniTask(TweenCancelBehaviour.KillAndCancelAwait, cancellationToken);
} }
public struct TweenAwaiter : ICriticalNotifyCompletion public struct TweenAwaiter : ICriticalNotifyCompletion