cirnogodot/GTweensGodot/GTweens/Source/Interpolators/SystemVector2Interpolator.cs
2025-02-24 11:52:50 +01:00

38 lines
No EOL
971 B
C#

using System.Numerics;
using GTweens.Easings;
namespace GTweens.Interpolators
{
public sealed class SystemVector2Interpolator : IInterpolator<Vector2>
{
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;
}
}
}