mirror of
https://github.com/Facepunch/sbox-public.git
synced 2026-01-19 11:49:44 -05:00
This commit imports the C# engine code and game files, excluding C++ source code. [Source-Commit: ceb3d758046e50faa6258bc3b658a30c97743268]
27 lines
657 B
C#
27 lines
657 B
C#
namespace Sandbox.Interpolation;
|
|
|
|
/// <summary>
|
|
/// State information about a <see cref="Rotation"/>. Used for interpolation buffer.
|
|
/// </summary>
|
|
struct RotationState
|
|
{
|
|
public readonly Rotation Rotation;
|
|
|
|
public RotationState( Rotation rotation )
|
|
{
|
|
Rotation = rotation;
|
|
}
|
|
|
|
public static IInterpolator<RotationState> CreateInterpolator() => Interpolator.Instance;
|
|
|
|
private class Interpolator : IInterpolator<RotationState>
|
|
{
|
|
public static readonly Interpolator Instance = new();
|
|
|
|
public RotationState Interpolate( RotationState a, RotationState b, float delta )
|
|
{
|
|
return new( Rotation.Lerp( a.Rotation, b.Rotation, delta ) );
|
|
}
|
|
}
|
|
}
|