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