/// <summary> /// Simply interface for getting interpolated value. /// </summary> /// <returns>Interpolated value.</returns> /// <param name="t">Input value (0 to 1).</param> /// <param name="easeFunction">Ease function.</param> /// <param name="easeType">Ease type.</param> public static float GetInterpolated(float t, EASE_FUNCTION easeFunction, EASE_TYPE easeType) { switch (easeFunction) { case EASE_FUNCTION.Back: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Back.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Back.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Back.easeInOut(t)); } break; case EASE_FUNCTION.Bounce: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Bounce.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Bounce.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Bounce.easeInOut(t)); } break; case EASE_FUNCTION.Circ: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Circ.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Circ.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Circ.easeInOut(t)); } break; case EASE_FUNCTION.Cubic: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Cubic.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Cubic.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Cubic.easeInOut(t)); } break; case EASE_FUNCTION.Elastic: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Elastic.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Elastic.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Elastic.easeInOut(t)); } break; case EASE_FUNCTION.Expo: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Expo.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Expo.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Expo.easeInOut(t)); } break; case EASE_FUNCTION.Linear: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Linear.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Linear.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Linear.easeInOut(t)); } break; case EASE_FUNCTION.Quad: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Quad.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Quad.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Quad.easeInOut(t)); } break; case EASE_FUNCTION.Quart: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Quart.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Quart.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Quart.easeInOut(t)); } break; case EASE_FUNCTION.Quint: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Quint.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Quint.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Quint.easeInOut(t)); } break; case EASE_FUNCTION.Sine: switch (easeType) { case EASE_TYPE.EaseIn: return(Easing.Sine.easeIn(t)); case EASE_TYPE.EaseOut: return(Easing.Sine.easeOut(t)); case EASE_TYPE.EaseInOut: return(Easing.Sine.easeInOut(t)); } break; } return(t); }
public static float Evaluate(EASE_TYPE ease, float v) { switch (ease) { case EASE_TYPE.QUAD_IN: return(quadIn(v)); case EASE_TYPE.QUAD_OUT: return(quadOut(v)); case EASE_TYPE.QUAD_INOUT: return(quadInOut(v)); case EASE_TYPE.CUBE_IN: return(cubeIn(v)); case EASE_TYPE.CUBE_OUT: return(cubeOut(v)); case EASE_TYPE.CUBE_INOUT: return(cubeInOut(v)); case EASE_TYPE.QUART_IN: return(quartIn(v)); case EASE_TYPE.QUART_OUT: return(quartOut(v)); case EASE_TYPE.QUART_INOUT: return(quartInOut(v)); case EASE_TYPE.QUINT_IN: return(quintIn(v)); case EASE_TYPE.QUINT_OUT: return(quintOut(v)); case EASE_TYPE.QUINT_INOUT: return(quintInOut(v)); case EASE_TYPE.SINE_IN: return(sineIn(v)); case EASE_TYPE.SINE_OUT: return(sineOut(v)); case EASE_TYPE.SINE_INOUT: return(sineInOut(v)); case EASE_TYPE.BOUNCE_IN: return(bounceIn(v)); case EASE_TYPE.BOUNCE_OUT: return(bounceOut(v)); case EASE_TYPE.BOUNCE_INOUT: return(bounceInOut(v)); case EASE_TYPE.CIRC_IN: return(circIn(v)); case EASE_TYPE.CIRC_OUT: return(circOut(v)); case EASE_TYPE.CIRC_INOUT: return(circInOut(v)); case EASE_TYPE.EXPO_IN: return(expoIn(v)); case EASE_TYPE.EXPO_OUT: return(expoOut(v)); case EASE_TYPE.EXPO_INOUT: return(expoInOut(v)); case EASE_TYPE.BACK_IN: return(backIn(v)); case EASE_TYPE.BACK_OUT: return(backOut(v)); case EASE_TYPE.BACK_INOUT: return(backInOut(v)); default: return(linear(v)); } }