fix: tween reset caused issues
This commit is contained in:
parent
76ad60fad3
commit
ce3cc895f4
@ -68,6 +68,13 @@ internal class Tween : ITween
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal void Reset()
|
internal void Reset()
|
||||||
|
{
|
||||||
|
_counter = 0f;
|
||||||
|
Progress = 0f;
|
||||||
|
State = TweenState.Idle;
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void Wipe()
|
||||||
{
|
{
|
||||||
OnStarted.Clear();
|
OnStarted.Clear();
|
||||||
OnPaused.Clear();
|
OnPaused.Clear();
|
||||||
@ -78,9 +85,9 @@ internal class Tween : ITween
|
|||||||
OnUpdated.Clear();
|
OnUpdated.Clear();
|
||||||
OnDeltaUpdated.Clear();
|
OnDeltaUpdated.Clear();
|
||||||
|
|
||||||
_counter = 0f;
|
Easing = EaseLinear.Instance;
|
||||||
Progress = 0f;
|
|
||||||
State = TweenState.Idle;
|
Reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Tween() { }
|
public Tween() { }
|
||||||
|
@ -43,57 +43,49 @@ public static class TweenExtensions
|
|||||||
|
|
||||||
public static ITween OnStart(this ITween tween, Action callback)
|
public static ITween OnStart(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnStarted.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnStarted.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnPause(this ITween tween, Action callback)
|
public static ITween OnPause(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnPaused.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnPaused.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnResume(this ITween tween, Action callback)
|
public static ITween OnResume(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnResumed.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnResumed.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnCancel(this ITween tween, Action callback)
|
public static ITween OnCancel(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnCancelled.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnCancelled.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnComplete(this ITween tween, Action callback)
|
public static ITween OnComplete(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnCompleted.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnCompleted.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnEnd(this ITween tween, Action callback)
|
public static ITween OnEnd(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnEnded.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnEnded.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnUpdate(this ITween tween, Action callback)
|
public static ITween OnUpdate(this ITween tween, Action callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnUpdated.AddListener(_ => callback.Invoke());
|
||||||
tweenConcrete.OnUpdated.AddListener(_ => callback.Invoke());
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ITween OnDeltaUpdate(this ITween tween, Action<float> callback)
|
public static ITween OnDeltaUpdate(this ITween tween, Action<float> callback)
|
||||||
{
|
{
|
||||||
Tween tweenConcrete = (Tween)tween;
|
tween.OnDeltaUpdated.AddListener((_, arguments) => callback.Invoke(arguments.Delta));
|
||||||
tweenConcrete.OnDeltaUpdated.AddListener((_, arguments) => callback.Invoke(arguments.Delta));
|
|
||||||
return tween;
|
return tween;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -34,7 +34,7 @@ public class TweenManager : UniverseObject, ITweenManager
|
|||||||
if (queue.Contains(tween))
|
if (queue.Contains(tween))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
tween.Reset();
|
tween.Wipe();
|
||||||
queue.Enqueue(tween);
|
queue.Enqueue(tween);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user