| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | 
							- using System.Runtime.InteropServices;
 
- using LitMotion.Collections;
 
- namespace LitMotion
 
- {
 
-     [StructLayout(LayoutKind.Sequential)]
 
-     public struct MotionDataCore
 
-     {
 
-         public MotionStatus Status;
 
-         public double Time;
 
-         public float PlaybackSpeed;
 
-         public float Duration;
 
-         public Ease Ease;
 
- #if LITMOTION_COLLECTIONS_2_0_OR_NEWER
 
-         public NativeAnimationCurve AnimationCurve;
 
- #else
 
-         public UnsafeAnimationCurve AnimationCurve;
 
- #endif
 
-         public MotionTimeKind TimeKind;
 
-         public float Delay;
 
-         public int Loops;
 
-         public DelayType DelayType;
 
-         public LoopType LoopType;
 
-         public static readonly MotionDataCore Default = new()
 
-         {
 
-             Loops = 1,
 
-             PlaybackSpeed = 1f,
 
-         };
 
-     }
 
-     
 
-     /// <summary>
 
-     /// A structure representing motion data.
 
-     /// </summary>
 
-     /// <typeparam name="TValue">The type of value to animate</typeparam>
 
-     /// <typeparam name="TOptions">The type of special parameters given to the motion data</typeparam>
 
-     [StructLayout(LayoutKind.Sequential)]
 
-     public struct MotionData<TValue, TOptions>
 
-         where TValue : unmanaged
 
-         where TOptions : unmanaged, IMotionOptions
 
-     {
 
-         // Because of pointer casting, this field must always be placed at the beginning.
 
-         public MotionDataCore Core;
 
-         public TValue StartValue;
 
-         public TValue EndValue;
 
-         public TOptions Options;
 
-         public static readonly MotionData<TValue, TOptions> Default = new()
 
-         {
 
-             Core = MotionDataCore.Default,
 
-         };
 
-     }
 
- }
 
 
  |