namespace Sandbox.Interpolation;
///
/// State information about a transform. Used for interpolation buffer.
///
struct TransformState
{
public readonly Transform Transform;
public TransformState( Transform transform )
{
Transform = transform;
}
public static IInterpolator CreateInterpolator() => Interpolator.Instance;
private class Interpolator : IInterpolator
{
public static readonly Interpolator Instance = new();
public TransformState Interpolate( TransformState a, TransformState b, float delta )
{
return new( Transform.Lerp( a.Transform, b.Transform, delta, true ) );
}
}
}