From ce3cc895f46a42098394b5bc80030f80d761cba0 Mon Sep 17 00:00:00 2001 From: Syntriax Date: Fri, 30 May 2025 21:15:18 +0300 Subject: [PATCH] fix: tween reset caused issues --- Engine.Systems/Tween/Tween.cs | 13 ++++++++++--- Engine.Systems/Tween/TweenExtensions.cs | 24 ++++++++---------------- Engine.Systems/Tween/TweenManager.cs | 2 +- 3 files changed, 19 insertions(+), 20 deletions(-) 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); }