Skip to content

Commit 9bd519b

Browse files
author
Cory Leach
committed
Fix NRE on Application Exit.
Fixing an NRE that can happen if attempting to start tween on application exit
1 parent b925a66 commit 9bd519b

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

Runtime/Tween/TweenExtensions.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public static class TweenExtensions
1111
private static CancellationTokenSource _cancellationTokenSource;
1212
private static Dictionary<int, TweenData> _tweenDict;
1313

14-
private static CancellationToken CancellationToken => _cancellationTokenSource.Token;
14+
private static CancellationToken CancellationToken => (_cancellationTokenSource != null) ? _cancellationTokenSource.Token : CancellationToken.None;
1515

1616
private static bool CanTween => Application.isPlaying && !CancellationToken.IsCancellationRequested;
1717

@@ -81,10 +81,16 @@ public static Task DoPunchTweenAsync(int id, float duration, CancellationToken c
8181

8282
public static async Task DoTweenAsyncWithLerp(Func<float,float,float,float> lerpMethod, int id, float duration, CancellationToken cancellationToken, Action<float> action, Easing easeType = Easing.Linear, AnimationCurve customCurve = null)
8383
{
84+
if (!CanTween)
85+
{
86+
return;
87+
}
88+
8489
var instanceCancellationToken = StartTween(id);
8590

8691
float t = 0;
8792
var ease = easeType != Easing.CustomCurve ? EaseFunctions.Get(easeType) : customCurve.Evaluate;
93+
8894
action?.Invoke(ease.Invoke(0));
8995

9096
while (t < duration && CanTween)

0 commit comments

Comments
 (0)