diff --git a/Engine.Systems/Tween/Tween.cs b/Engine.Systems/Tween/Tween.cs index ab86045..c92aa94 100644 --- a/Engine.Systems/Tween/Tween.cs +++ b/Engine.Systems/Tween/Tween.cs @@ -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() { } diff --git a/Engine.Systems/Tween/TweenExtensions.cs b/Engine.Systems/Tween/TweenExtensions.cs index 771e976..4b02cac 100644 --- a/Engine.Systems/Tween/TweenExtensions.cs +++ b/Engine.Systems/Tween/TweenExtensions.cs @@ -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 callback) { - Tween tweenConcrete = (Tween)tween; - tweenConcrete.OnDeltaUpdated.AddListener((_, arguments) => callback.Invoke(arguments.Delta)); + tween.OnDeltaUpdated.AddListener((_, arguments) => callback.Invoke(arguments.Delta)); return tween; } } diff --git a/Engine.Systems/Tween/TweenManager.cs b/Engine.Systems/Tween/TweenManager.cs index 3a4b208..f547042 100644 --- a/Engine.Systems/Tween/TweenManager.cs +++ b/Engine.Systems/Tween/TweenManager.cs @@ -34,7 +34,7 @@ public class TweenManager : UniverseObject, ITweenManager if (queue.Contains(tween)) return; - tween.Reset(); + tween.Wipe(); queue.Enqueue(tween); }