cirnogodot/GTweensGodot/GTweens/Source/Interpolators/SystemVector3Interpolator.cs

39 lines
1 KiB
C#
Raw Normal View History

2025-02-24 11:52:50 +01:00
using System.Numerics;
using GTweens.Easings;
namespace GTweens.Interpolators
{
public sealed class SystemVector3Interpolator : IInterpolator<Vector3>
{
public static readonly SystemVector3Interpolator Instance = new();
SystemVector3Interpolator()
{
}
public Vector3 Evaluate(
Vector3 initialValue,
Vector3 finalValue,
float time,
EasingDelegate easingDelegate
)
{
return new Vector3(
easingDelegate(initialValue.X, finalValue.X, time),
easingDelegate(initialValue.Y, finalValue.Y, time),
easingDelegate(initialValue.Z, finalValue.Z, time)
);
}
public Vector3 Subtract(Vector3 initialValue, Vector3 finalValue)
{
return finalValue - initialValue;
}
public Vector3 Add(Vector3 initialValue, Vector3 finalValue)
{
return finalValue + initialValue;
}
}
}