namespace LitMotion { /// /// Implement this interface to define animating values of a particular type. /// /// The type of value to animate /// The type of special parameters given to the motion entity public interface IMotionAdapter where TValue : unmanaged where TOptions : unmanaged, IMotionOptions { /// /// Define the process to interpolate the values between two points. /// /// Start value /// End value /// Option value to specify /// Animation context /// Current value TValue Evaluate(ref TValue startValue, ref TValue endValue, ref TOptions options, in MotionEvaluationContext context); } }