Example #1
0
 public float InOut(float time) {
     switch (type) {
         case AnimationEasingType.Linear:
             return time;
         case AnimationEasingType.Quad:
         case AnimationEasingType.Cube:
         case AnimationEasingType.Quart:
         case AnimationEasingType.Quint:
         case AnimationEasingType.Sine:
         case AnimationEasingType.Expo:
         case AnimationEasingType.Circ:
         case AnimationEasingType.Bounce:
         case AnimationEasingType.Elastic:
             return EasingHelper.ElasticInOut(this, time);
         case AnimationEasingType.Back: {
             time *= 2f;
             if (time < 1f) {
                 return 0.5f * (time * time * ((s2 + 1f) * time - s2));
             } else {
                 time -= 2f;
                 return 0.5f * (time * time * ((s2 + 1f) * time + s2) + 2f);
             }
         }
         case AnimationEasingType.Spring:
             return EasingHelper.Spring(time);
     }
     return time;
 }