IMotionAdapter.cs 1001 B

12345678910111213141516171819202122
  1. namespace LitMotion
  2. {
  3. /// <summary>
  4. /// Implement this interface to define animating values of a particular type.
  5. /// </summary>
  6. /// <typeparam name="TValue">The type of value to animate</typeparam>
  7. /// <typeparam name="TOptions">The type of special parameters given to the motion entity</typeparam>
  8. public interface IMotionAdapter<TValue, TOptions>
  9. where TValue : unmanaged
  10. where TOptions : unmanaged, IMotionOptions
  11. {
  12. /// <summary>
  13. /// Define the process to interpolate the values between two points.
  14. /// </summary>
  15. /// <param name="startValue">Start value</param>
  16. /// <param name="endValue">End value</param>
  17. /// <param name="options">Option value to specify</param>
  18. /// <param name="context">Animation context</param>
  19. /// <returns>Current value</returns>
  20. TValue Evaluate(ref TValue startValue, ref TValue endValue, ref TOptions options, in MotionEvaluationContext context);
  21. }
  22. }