fix: tween reset caused issues

This commit is contained in:
Syntriax 2025-05-30 21:15:18 +03:00
parent 76ad60fad3
commit ce3cc895f4
3 changed files with 19 additions and 20 deletions

View File

@ -68,6 +68,13 @@ internal class Tween : ITween
}
internal void Reset()
{
_counter = 0f;
Progress = 0f;
State = TweenState.Idle;
}
internal void Wipe()
{
OnStarted.Clear();
OnPaused.Clear();
@ -78,9 +85,9 @@ internal class Tween : ITween
OnUpdated.Clear();
OnDeltaUpdated.Clear();
_counter = 0f;
Progress = 0f;
State = TweenState.Idle;
Easing = EaseLinear.Instance;
Reset();
}
public Tween() { }

View File

@ -43,57 +43,49 @@ public static class TweenExtensions
public static ITween OnStart(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnStarted.AddListener(_ => callback.Invoke());
tween.OnStarted.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnPause(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnPaused.AddListener(_ => callback.Invoke());
tween.OnPaused.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnResume(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnResumed.AddListener(_ => callback.Invoke());
tween.OnResumed.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnCancel(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnCancelled.AddListener(_ => callback.Invoke());
tween.OnCancelled.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnComplete(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnCompleted.AddListener(_ => callback.Invoke());
tween.OnCompleted.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnEnd(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnEnded.AddListener(_ => callback.Invoke());
tween.OnEnded.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnUpdate(this ITween tween, Action callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnUpdated.AddListener(_ => callback.Invoke());
tween.OnUpdated.AddListener(_ => callback.Invoke());
return tween;
}
public static ITween OnDeltaUpdate(this ITween tween, Action<float> callback)
{
Tween tweenConcrete = (Tween)tween;
tweenConcrete.OnDeltaUpdated.AddListener((_, arguments) => callback.Invoke(arguments.Delta));
tween.OnDeltaUpdated.AddListener((_, arguments) => callback.Invoke(arguments.Delta));
return tween;
}
}

View File

@ -34,7 +34,7 @@ public class TweenManager : UniverseObject, ITweenManager
if (queue.Contains(tween))
return;
tween.Reset();
tween.Wipe();
queue.Enqueue(tween);
}