/// <summary>
    /// Calculate the Ease from a pourcent
    /// </summary>
    /// <param name="linearStep">Pourcent on the ease</param>
    /// <param name="part">Easing Part</param>
    /// <param name="type">Easing Type</param>
    /// <returns>A easing float</returns>
    public static float Ease(float linearStep, EasingPart part = EasingPart.NoEase, EasingType type = EasingType.Linear)
    {
        switch (part)
        {
        default:
        case EasingPart.NoEase:
            return(linearStep);

        case EasingPart.EaseIn:
            return(EaseIn(linearStep, type));

        case EasingPart.EaseOut:
            return(EaseOut(linearStep, type));

        case EasingPart.EaseInOut:
            return(EaseInOut(linearStep, type));

        case EasingPart.EaseOutIn:
            return(EaseOutIn(linearStep, type));
        }
    }
 /// <summary>
 /// Calculate the Ease position between two Color32
 /// </summary>
 /// <param name="linearStep">Pourcent on the ease</param>
 /// <param name="part">Easing Part</param>
 /// <param name="type">Easing Type</param>
 /// <returns>A easing Color32</returns>
 public static Color32 EaseColor32(Color32 from, Color32 to, float linearStep, EasingPart part = EasingPart.NoEase, EasingType type = EasingType.Linear)
 {
     return(Color32.LerpUnclamped(from, to, Ease(linearStep, part, type)));
 }
 /// <summary>
 /// Calculate the Ease rotation between two Quaternion
 /// </summary>
 /// <param name="linearStep">Pourcent on the ease</param>
 /// <param name="part">Easing Part</param>
 /// <param name="type">Easing Type</param>
 /// <returns>A easing Quaternion</returns>
 public static Quaternion EaseQuaternion(Quaternion from, Quaternion to, float linearStep, EasingPart part = EasingPart.NoEase, EasingType type = EasingType.Linear)
 {
     return(Quaternion.LerpUnclamped(from, to, Ease(linearStep, part, type)));
 }
 /// <summary>
 /// Calculate the Ease position between two Vector4
 /// </summary>
 /// <param name="linearStep">Pourcent on the ease</param>
 /// <param name="part">Easing Part</param>
 /// <param name="type">Easing Type</param>
 /// <returns>A easing Vector4</returns>
 public static Vector4 EaseVector4(Vector4 from, Vector4 to, float linearStep, EasingPart part = EasingPart.NoEase, EasingType type = EasingType.Linear)
 {
     return(Vector4.LerpUnclamped(from, to, Ease(linearStep, part, type)));
 }