public float Out(float time) { switch (type) { case AnimationEasingType.LinearEasing: return(time); case AnimationEasingType.QuadraticEasing: return(time * (time - 2) * -1); case AnimationEasingType.CubicEasing: return(Mathf.Pow(time - 1, 3) + 1); case AnimationEasingType.QuarticEasing: return((Mathf.Pow(time - 1, 4) - 1) * -1); case AnimationEasingType.QuinticEasing: return(Mathf.Pow(time - 1, 5) + 1); case AnimationEasingType.SinusoidalEasing: return(Mathf.Sin(time * (Mathf.PI / 2))); case AnimationEasingType.ExponentialEasing: return(-1 * Mathf.Pow(2, -10 * time) + 1); case AnimationEasingType.CircularEasing: return(Mathf.Sqrt(1 - Mathf.Pow(time - 1, 2))); case AnimationEasingType.BounceEasing: return(EasingHelper.BounceOut(time)); case AnimationEasingType.BackEasing: return(EasingHelper.BackOut(time)); case AnimationEasingType.ElasticEasing: return(ElasticOut(time)); } return(time); }