Compare commits

...

5 Commits

Author SHA1 Message Date
Origan 35f2fca99a
Merge 87c04a29fa into d210e3d76a 2023-06-24 12:45:12 +02:00
Artem Ovchinnikov 87c04a29fa Formatting fixed 2023-01-11 17:20:15 +03:00
Artem Ovchinnikov 952e113011 Await added to prevent premature dispose 2023-01-11 17:17:07 +03:00
Artem Ovchinnikov 03ef341096 Fixed bug with OnKill delegate overriding 2023-01-08 11:40:11 +03:00
Artem Ovchinnikov 5e266f5538 Added new extension method
Added new extension method that fixes DoTween null-reference, when using GetCancellationOnDestroy()
2022-09-24 18:18:20 +03:00
1 changed files with 17 additions and 0 deletions

View File

@ -99,6 +99,23 @@ namespace Cysharp.Threading.Tasks
return new UniTask(TweenConfiguredSource.Create(tween, tweenCancelBehaviour, cancellationToken, CallbackType.StepComplete, out var token), token);
}
public static async UniTask AwaitWithCancellation(this Tween tween, CancellationToken cancellationToken)
{
Error.ThrowArgumentNullException(tween, nameof(tween));
if (!tween.IsActive()) await UniTask.CompletedTask;
using var registration = cancellationToken.Register(() =>
{
if (tween.IsActive())
{
tween.Kill();
}
});
await tween.ToUniTask(TweenCancelBehaviour.KillAndCancelAwait, cancellationToken);
}
public struct TweenAwaiter : ICriticalNotifyCompletion
{
readonly Tween tween;