using System.Numerics; using GTweens.Easings; namespace GTweens.Interpolators { public sealed class SystemVector2Interpolator : IInterpolator { public static readonly SystemVector2Interpolator Instance = new(); SystemVector2Interpolator() { } public Vector2 Evaluate( Vector2 initialValue, Vector2 finalValue, float time, EasingDelegate easingDelegate ) { return new Vector2( easingDelegate(initialValue.X, finalValue.X, time), easingDelegate(initialValue.Y, finalValue.Y, time) ); } public Vector2 Subtract(Vector2 initialValue, Vector2 finalValue) { return finalValue - initialValue; } public Vector2 Add(Vector2 initialValue, Vector2 finalValue) { return finalValue + initialValue; } } }