namespace LitMotion
{
///
/// Provides the function to schedule the execution of a motion.
///
public interface IMotionScheduler
{
///
/// Schedule the motion.
///
/// The type of value to animate
/// The type of special parameters given to the motion data
/// The type of adapter that support value animation
/// Motion data
/// Motion callback data
/// Motion handle
MotionHandle Schedule(ref MotionData data, ref MotionCallbackData callbackData)
where TValue : unmanaged
where TOptions : unmanaged, IMotionOptions
where TAdapter : unmanaged, IMotionAdapter;
///
/// Returns the current time.
///
double Time { get; }
}
///
/// Type of time used to play the motion
///
public enum MotionTimeKind : byte
{
Time = 0,
UnscaledTime = 1,
Realtime = 2
}
}