using Syntriax.Engine.Core; namespace Syntriax.Engine.Systems.Tween; public interface ITween { Event OnStarted { get; } Event OnPaused { get; } Event OnResumed { get; } Event OnCancelled { get; } Event OnCompleted { get; } Event OnEnded { get; } Event OnUpdated { get; } Event OnDeltaUpdated { get; } TweenState State { get; set; } float Counter { get; } float Duration { get; } float Progress { get; } float Value { get; } readonly record struct TweenDeltaArguments(float Delta); }