mirror of https://github.com/Cysharp/UniTask
Fixed bug with OnKill delegate overriding
parent
5e266f5538
commit
03ef341096
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue