Exemple #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;
 }
Exemple #2
0
 public float In(float time) {
     switch (type) {
         case AnimationEasingType.Linear:
             return time;
         case AnimationEasingType.Quad:
             return (time * time);
         case AnimationEasingType.Cube:
             return (time * time * time);
         case AnimationEasingType.Quart:
             return Mathf.Pow(time, 4f);
         case AnimationEasingType.Quint:
             return Mathf.Pow(time, 5f);
         case AnimationEasingType.Sine:
             return Mathf.Sin((time - 1f) * (Mathf.PI / 2f)) + 1f;
         case AnimationEasingType.Expo:
             return Mathf.Pow(2f, 10f * (time - 1f));
         case AnimationEasingType.Circ:
             return (-1f * Mathf.Sqrt(1f - time * time) + 1f);
         case AnimationEasingType.Back:
             return time * time * ((s + 1f) * time - s);
         case AnimationEasingType.Bounce:
             return 1f - Out(1f - time);
         case AnimationEasingType.Elastic:
             return EasingHelper.Elastic(time, EasingType.In);
         case AnimationEasingType.Spring:
             return EasingHelper.Spring(time);
     }
     return time;
 }
Exemple #3
0
 public float Out(float time) {
     switch (type) {
         case AnimationEasingType.Linear:
             return time;
         case AnimationEasingType.Quad:
             return (time * (time - 2f) * -1f);
         case AnimationEasingType.Cube:
             return (Mathf.Pow(time - 1f, 3f) + 1f);
         case AnimationEasingType.Quart:
             return (Mathf.Pow(time - 1f, 4f) - 1f) * -1f;
         case AnimationEasingType.Quint:
             return (Mathf.Pow(time - 1f, 5f) + 1f);
         case AnimationEasingType.Sine:
             return Mathf.Sin(time * (Mathf.PI / 2f));
         case AnimationEasingType.Expo:
             return (-1f * Mathf.Pow(2f, -10f * time) + 1f);
         case AnimationEasingType.Circ:
             return Mathf.Sqrt(1f - Mathf.Pow(time - 1f, 2f));
         case AnimationEasingType.Back:
             time = time - 1f;
             return (time * time * ((s + 1f) * time + s) + 1f);
         case AnimationEasingType.Bounce: {
             if (time < (1f / 2.75f)) {
                 return (7.5625f * time * time);
             } else if (time < (2f / 2.75f)) {
                 time -= (1.5f / 2.75f);
                 return (7.5625f * time * time + 0.75f);
             } else if (time < (2.5f / 2.75f)) {
                 time -= (2.25f / 2.75f);
                 return (7.5625f * time * time + 0.9375f);
             } else {
                 time -= (2.625f / 2.75f);
                 return (7.5625f * time * time + 0.984375f);
             }
         }
         case AnimationEasingType.Elastic:
             return EasingHelper.Elastic(time, EasingType.Out);
         case AnimationEasingType.Spring:
             return EasingHelper.Spring(time);
     }
     return time;
 }