diff --git a/Assets/AutoMotion/Scripts/Auto.cs b/Assets/AutoMotion/Scripts/Auto.cs
index 4166d7d..f3250e5 100644
--- a/Assets/AutoMotion/Scripts/Auto.cs
+++ b/Assets/AutoMotion/Scripts/Auto.cs
@@ -1,4 +1,5 @@
using UnityEngine;
+using System;
using System.Collections;
public delegate bool Predicate();
@@ -6,177 +7,230 @@
public static class Auto
{
- #region Transform coroutines
+ #region Generic coroutines
- public static IEnumerator MoveTo(this Transform transform, Vector3 target, float duration, Easer ease)
+ ///
+ /// Interpolates a value between from and to, using the ease function.
+ ///
+ /// The value to interpolate from.
+ /// The value to interpolate to.
+ /// The interpolation duration, in seconds.
+ /// The ease function.
+ /// The action to perform with the interpolated value.
+ /// The IEnumerator for the coroutine.
+ public static IEnumerator Interpolate(float from, float to, float duration, Easer ease, Action action)
{
float elapsed = 0;
- var start = transform.localPosition;
- var range = target - start;
+ float range = to - from;
+
while (elapsed < duration)
{
elapsed = Mathf.MoveTowards(elapsed, duration, Time.deltaTime);
- transform.localPosition = start + range * ease(elapsed / duration);
+ action(from + range * ease(elapsed / duration));
yield return 0;
}
- transform.localPosition = target;
- }
- public static IEnumerator MoveTo(this Transform transform, Vector3 target, float duration)
- {
- return MoveTo(transform, target, duration, Ease.Linear);
- }
- public static IEnumerator MoveTo(this Transform transform, Vector3 target, float duration, EaseType ease)
- {
- return MoveTo(transform, target, duration, Ease.FromType(ease));
- }
-
- public static IEnumerator MoveFrom(this Transform transform, Vector3 target, float duration, Easer ease)
- {
- var start = transform.localPosition;
- transform.localPosition = target;
- return MoveTo(transform, start, duration, ease);
- }
- public static IEnumerator MoveFrom(this Transform transform, Vector3 target, float duration)
- {
- return MoveFrom(transform, target, duration, Ease.Linear);
- }
- public static IEnumerator MoveFrom(this Transform transform, Vector3 target, float duration, EaseType ease)
- {
- return MoveFrom(transform, target, duration, Ease.FromType(ease));
+
+ action(from + range * ease(1));
}
-
- public static IEnumerator ScaleTo(this Transform transform, Vector3 target, float duration, Easer ease)
+
+ ///
+ /// Interpolates a value between from and to, using the ease function.
+ ///
+ /// The value to interpolate from.
+ /// The value to interpolate to.
+ /// The interpolation duration, in seconds.
+ /// The ease function.
+ /// The action to perform with the interpolated value.
+ /// The IEnumerator for the coroutine.
+ public static IEnumerator Interpolate(float from, float to, float duration, EaseType ease, Action action) =>
+ Interpolate(from, to, duration, Ease.FromType(ease), action);
+
+ ///
+ /// Interpolates a Vector3 between from and to, using the ease function.
+ ///
+ /// The value to interpolate from.
+ /// The value to interpolate to.
+ /// The interpolation duration, in seconds.
+ /// The ease function.
+ /// The action to perform with the interpolated value.
+ /// The IEnumerator for the coroutine.
+ public static IEnumerator Interpolate(Vector3 from, Vector3 to, float duration, Easer ease, Action action)
{
float elapsed = 0;
- var start = transform.localScale;
- var range = target - start;
+ Vector3 range = to - from;
+
while (elapsed < duration)
{
elapsed = Mathf.MoveTowards(elapsed, duration, Time.deltaTime);
- transform.localScale = start + range * ease(elapsed / duration);
+ action(from + range * ease(elapsed / duration));
yield return 0;
}
- transform.localScale = target;
- }
- public static IEnumerator ScaleTo(this Transform transform, Vector3 target, float duration)
- {
- return ScaleTo(transform, target, duration, Ease.Linear);
- }
- public static IEnumerator ScaleTo(this Transform transform, Vector3 target, float duration, EaseType ease)
- {
- return ScaleTo(transform, target, duration, Ease.FromType(ease));
- }
- public static IEnumerator ScaleFrom(this Transform transform, Vector3 target, float duration, Easer ease)
- {
- var start = transform.localScale;
- transform.localScale = target;
- return ScaleTo(transform, start, duration, ease);
- }
- public static IEnumerator ScaleFrom(this Transform transform, Vector3 target, float duration)
- {
- return ScaleFrom(transform, target, duration, Ease.Linear);
+ action(from + range * ease(1));
}
- public static IEnumerator ScaleFrom(this Transform transform, Vector3 target, float duration, EaseType ease)
- {
- return ScaleFrom(transform, target, duration, Ease.FromType(ease));
- }
-
- public static IEnumerator RotateTo(this Transform transform, Quaternion target, float duration, Easer ease)
+
+ ///
+ /// Interpolates a Vector3 between from and to, using the ease function.
+ ///
+ /// The value to interpolate from.
+ /// The value to interpolate to.
+ /// The interpolation duration, in seconds.
+ /// The ease function.
+ /// The action to perform with the interpolated value.
+ /// The IEnumerator for the coroutine.
+ public static IEnumerator Interpolate(Vector3 from, Vector3 to, float duration, EaseType ease, Action action) =>
+ Interpolate(from, to, duration, Ease.FromType(ease), action);
+
+ ///
+ /// Interpolates a Quaternion between from and to, using the ease function.
+ ///
+ /// The value to interpolate from.
+ /// The value to interpolate to.
+ /// The interpolation duration, in seconds.
+ /// The ease function.
+ /// The action to perform with the interpolated value.
+ /// The IEnumerator for the coroutine.
+ public static IEnumerator Interpolate(Quaternion from, Quaternion to, float duration, Easer ease, Action action)
{
float elapsed = 0;
- var start = transform.localRotation;
+
while (elapsed < duration)
{
elapsed = Mathf.MoveTowards(elapsed, duration, Time.deltaTime);
- transform.localRotation = Quaternion.Lerp(start, target, ease(elapsed / duration));
+ action(Quaternion.Lerp(from, to, ease(elapsed / duration)));
yield return 0;
}
- transform.localRotation = target;
- }
- public static IEnumerator RotateTo(this Transform transform, Quaternion target, float duration)
- {
- return RotateTo(transform, target, duration, Ease.Linear);
- }
- public static IEnumerator RotateTo(this Transform transform, Quaternion target, float duration, EaseType ease)
- {
- return RotateTo(transform, target, duration, Ease.FromType(ease));
- }
-
- public static IEnumerator RotateFrom(this Transform transform, Quaternion target, float duration, Easer ease)
- {
- var start = transform.localRotation;
- transform.localRotation = target;
- return RotateTo(transform, start, duration, ease);
- }
- public static IEnumerator RotateFrom(this Transform transform, Quaternion target, float duration)
- {
- return RotateFrom(transform, target, duration, Ease.Linear);
- }
- public static IEnumerator RotateFrom(this Transform transform, Quaternion target, float duration, EaseType ease)
- {
- return RotateFrom(transform, target, duration, Ease.FromType(ease));
+
+ action(Quaternion.Lerp(from, to, ease(1)));
}
-
+
+ ///
+ /// Interpolates a Quaternion between from and to, using the ease function.
+ ///
+ /// The value to interpolate from.
+ /// The value to interpolate to.
+ /// The interpolation duration, in seconds.
+ /// The ease function.
+ /// The action to perform with the interpolated value.
+ /// The IEnumerator for the coroutine.
+ public static IEnumerator Interpolate(Quaternion from, Quaternion to, float duration, EaseType ease, Action action) =>
+ Interpolate(from, to, duration, Ease.FromType(ease), action);
+
+ #endregion
+
+ #region Transform coroutines
+
+ public static IEnumerator MoveTo(this Transform transform, Vector3 target, float duration, Easer ease) =>
+ Interpolate(transform.localPosition, target, duration, ease, v => transform.localPosition = v);
+
+ public static IEnumerator MoveTo(this Transform transform, Vector3 target, float duration) =>
+ Interpolate(transform.localPosition, target, duration, Ease.Linear, v => transform.localPosition = v);
+
+ public static IEnumerator MoveTo(this Transform transform, Vector3 target, float duration, EaseType ease) =>
+ Interpolate(transform.localPosition, target, duration, ease, v => transform.localPosition = v);
+
+ public static IEnumerator MoveFrom(this Transform transform, Vector3 target, float duration, Easer ease) =>
+ Interpolate(target, transform.localPosition, duration, ease, v => transform.localPosition = v);
+
+ public static IEnumerator MoveFrom(this Transform transform, Vector3 target, float duration) =>
+ Interpolate(target, transform.localPosition, duration, Ease.Linear, v => transform.localPosition = v);
+
+ public static IEnumerator MoveFrom(this Transform transform, Vector3 target, float duration, EaseType ease) =>
+ Interpolate(target, transform.localPosition, duration, ease, v => transform.localPosition = v);
+
+ public static IEnumerator ScaleTo(this Transform transform, Vector3 target, float duration, Easer ease) =>
+ Interpolate(transform.localScale, target, duration, ease, v => transform.localScale = v);
+
+ public static IEnumerator ScaleTo(this Transform transform, Vector3 target, float duration) =>
+ Interpolate(transform.localScale, target, duration, Ease.Linear, v => transform.localScale = v);
+
+ public static IEnumerator ScaleTo(this Transform transform, Vector3 target, float duration, EaseType ease) =>
+ Interpolate(transform.localScale, target, duration, ease, v => transform.localScale = v);
+
+ public static IEnumerator ScaleFrom(this Transform transform, Vector3 target, float duration, Easer ease) =>
+ Interpolate(target, transform.localScale, duration, ease, v => transform.localScale = v);
+
+ public static IEnumerator ScaleFrom(this Transform transform, Vector3 target, float duration) =>
+ Interpolate(target, transform.localScale, duration, Ease.Linear, v => transform.localScale = v);
+
+ public static IEnumerator ScaleFrom(this Transform transform, Vector3 target, float duration, EaseType ease) =>
+ Interpolate(target, transform.localScale, duration, ease, v => transform.localScale = v);
+
+ public static IEnumerator RotateTo(this Transform transform, Quaternion target, float duration, Easer ease) =>
+ Interpolate(transform.localRotation, target, duration, ease, v => transform.localRotation = v);
+
+ public static IEnumerator RotateTo(this Transform transform, Quaternion target, float duration) =>
+ Interpolate(transform.localRotation, target, duration, Ease.Linear, v => transform.localRotation = v);
+
+ public static IEnumerator RotateTo(this Transform transform, Quaternion target, float duration, EaseType ease) =>
+ Interpolate(transform.localRotation, target, duration, ease, v => transform.localRotation = v);
+
+ public static IEnumerator RotateFrom(this Transform transform, Quaternion target, float duration, Easer ease) =>
+ Interpolate(target, transform.localRotation, duration, ease, v => transform.localRotation = v);
+
+ public static IEnumerator RotateFrom(this Transform transform, Quaternion target, float duration) =>
+ Interpolate(target, transform.localRotation, duration, Ease.Linear, v => transform.localRotation = v);
+
+ public static IEnumerator RotateFrom(this Transform transform, Quaternion target, float duration, EaseType ease) =>
+ Interpolate(target, transform.localRotation, duration, ease, v => transform.localRotation = v);
+
public static IEnumerator CurveTo(this Transform transform, Vector3 control, Vector3 target, float duration, Easer ease)
{
float elapsed = 0;
var start = transform.localPosition;
- Vector3 position;
- float t;
+
while (elapsed < duration)
{
elapsed = Mathf.MoveTowards(elapsed, duration, Time.deltaTime);
- t = ease(elapsed / duration);
- position.x = start.x * (1 - t) * (1 - t) + control.x * 2 * (1 - t) * t + target.x * t * t;
- position.y = start.y * (1 - t) * (1 - t) + control.y * 2 * (1 - t) * t + target.y * t * t;
- position.z = start.z * (1 - t) * (1 - t) + control.z * 2 * (1 - t) * t + target.z * t * t;
- transform.localPosition = position;
+ float t = ease(elapsed / duration);
+ transform.localPosition = start * (1 - t) * (1 - t) + control * 2 * (1 - t) * t + target * t * t;
yield return 0;
}
+
transform.localPosition = target;
}
- public static IEnumerator CurveTo(this Transform transform, Vector3 control, Vector3 target, float duration)
- {
- return CurveTo(transform, control, target, duration, Ease.Linear);
- }
- public static IEnumerator CurveTo(this Transform transform, Vector3 control, Vector3 target, float duration, EaseType ease)
- {
- return CurveTo(transform, control, target, duration, Ease.FromType(ease));
- }
-
+
+ public static IEnumerator CurveTo(this Transform transform, Vector3 control, Vector3 target, float duration) =>
+ CurveTo(transform, control, target, duration, Ease.Linear);
+
+ public static IEnumerator CurveTo(this Transform transform, Vector3 control, Vector3 target, float duration, EaseType ease) =>
+ CurveTo(transform, control, target, duration, Ease.FromType(ease));
+
public static IEnumerator CurveFrom(this Transform transform, Vector3 control, Vector3 start, float duration, Easer ease)
{
var target = transform.localPosition;
transform.localPosition = start;
return CurveTo(transform, control, target, duration, ease);
}
- public static IEnumerator CurveFrom(this Transform transform, Vector3 control, Vector3 start, float duration)
- {
- return CurveFrom(transform, control, start, duration, Ease.Linear);
- }
- public static IEnumerator CurveFrom(this Transform transform, Vector3 control, Vector3 start, float duration, EaseType ease)
- {
- return CurveFrom(transform, control, start, duration, Ease.FromType(ease));
- }
-
+
+ public static IEnumerator CurveFrom(this Transform transform, Vector3 control, Vector3 start, float duration) =>
+ CurveFrom(transform, control, start, duration, Ease.Linear);
+
+ public static IEnumerator CurveFrom(this Transform transform, Vector3 control, Vector3 start, float duration, EaseType ease) =>
+ CurveFrom(transform, control, start, duration, Ease.FromType(ease));
+
public static IEnumerator Shake(this Transform transform, Vector3 amount, float duration)
{
var start = transform.localPosition;
var shake = Vector3.zero;
+
while (duration > 0)
{
duration -= Time.deltaTime;
- shake.Set(Random.Range(-amount.x, amount.x), Random.Range(-amount.y, amount.y), Random.Range(-amount.z, amount.z));
+ shake.Set(
+ UnityEngine.Random.Range(-amount.x, amount.x),
+ UnityEngine.Random.Range(-amount.y, amount.y),
+ UnityEngine.Random.Range(-amount.z, amount.z)
+ );
transform.localPosition = start + shake;
yield return 0;
}
+
transform.localPosition = start;
}
- public static IEnumerator Shake(this Transform transform, float amount, float duration)
- {
- return Shake(transform, new Vector3(amount, amount, amount), duration);
- }
+
+ public static IEnumerator Shake(this Transform transform, float amount, float duration) =>
+ Shake(transform, Vector3.one * amount, duration);
#endregion
@@ -200,62 +254,52 @@ public static IEnumerator WaitUntil(Predicate predicate)
#endregion
#region Time-based motion
-
+
public static float Loop(float duration, float from, float to, float offsetPercent)
{
var range = to - from;
var total = (Time.time + duration * offsetPercent) * (Mathf.Abs(range) / duration);
- if (range > 0)
- return from + Time.time - (range * Mathf.FloorToInt((Time.time / range)));
- else
- return from - (Time.time - (Mathf.Abs(range) * Mathf.FloorToInt((total / Mathf.Abs(range)))));
- }
- public static float Loop(float duration, float from, float to)
- {
- return Loop(duration, from, to, 0);
- }
- public static Vector3 Loop(float duration, Vector3 from, Vector3 to, float offsetPercent)
- {
- return Vector3.Lerp(from, to, Loop(duration, 0, 1, offsetPercent));
- }
- public static Vector3 Loop(float duration, Vector3 from, Vector3 to)
- {
- return Vector3.Lerp(from, to, Loop(duration, 0, 1));
- }
- public static Quaternion Loop(float duration, Quaternion from, Quaternion to, float offsetPercent)
- {
- return Quaternion.Lerp(from, to, Loop(duration, 0, 1, offsetPercent));
- }
- public static Quaternion Loop(float duration, Quaternion from, Quaternion to)
- {
- return Quaternion.Lerp(from, to, Loop(duration, 0, 1));
+
+ return (range > 0) ?
+ from + Time.time - (range * Mathf.FloorToInt((Time.time / range))) :
+ from - (Time.time - (Mathf.Abs(range) * Mathf.FloorToInt((total / Mathf.Abs(range)))));
}
-
+
+ public static float Loop(float duration, float from, float to) =>
+ Loop(duration, from, to, 0);
+
+ public static Vector3 Loop(float duration, Vector3 from, Vector3 to, float offsetPercent) =>
+ Vector3.Lerp(from, to, Loop(duration, 0, 1, offsetPercent));
+
+ public static Vector3 Loop(float duration, Vector3 from, Vector3 to) =>
+ Vector3.Lerp(from, to, Loop(duration, 0, 1));
+
+ public static Quaternion Loop(float duration, Quaternion from, Quaternion to, float offsetPercent) =>
+ Quaternion.Lerp(from, to, Loop(duration, 0, 1, offsetPercent));
+
+ public static Quaternion Loop(float duration, Quaternion from, Quaternion to) =>
+ Quaternion.Lerp(from, to, Loop(duration, 0, 1));
+
public static float Wave(float duration, float from, float to, float offsetPercent)
{
var range = (to - from) / 2;
return from + range + Mathf.Sin(((Time.time + duration * offsetPercent) / duration) * (Mathf.PI * 2)) * range;
}
- public static float Wave(float duration, float from, float to)
- {
- return Wave(duration, from, to, 0);
- }
- public static Vector3 Wave(float duration, Vector3 from, Vector3 to, float offsetPercent)
- {
- return Vector3.Lerp(from, to, Wave(duration, 0, 1, offsetPercent));
- }
- public static Vector3 Wave(float duration, Vector3 from, Vector3 to)
- {
- return Vector3.Lerp(from, to, Wave(duration, 0, 1));
- }
- public static Quaternion Wave(float duration, Quaternion from, Quaternion to, float offsetPercent)
- {
- return Quaternion.Lerp(from, to, Wave(duration, 0, 1, offsetPercent));
- }
- public static Quaternion Wave(float duration, Quaternion from, Quaternion to)
- {
- return Quaternion.Lerp(from, to, Wave(duration, 0, 1));
- }
+
+ public static float Wave(float duration, float from, float to) =>
+ Wave(duration, from, to, 0);
+
+ public static Vector3 Wave(float duration, Vector3 from, Vector3 to, float offsetPercent) =>
+ Vector3.Lerp(from, to, Wave(duration, 0, 1, offsetPercent));
+
+ public static Vector3 Wave(float duration, Vector3 from, Vector3 to) =>
+ Vector3.Lerp(from, to, Wave(duration, 0, 1));
+
+ public static Quaternion Wave(float duration, Quaternion from, Quaternion to, float offsetPercent) =>
+ Quaternion.Lerp(from, to, Wave(duration, 0, 1, offsetPercent));
+
+ public static Quaternion Wave(float duration, Quaternion from, Quaternion to) =>
+ Quaternion.Lerp(from, to, Wave(duration, 0, 1));
#endregion
}
@@ -266,52 +310,52 @@ public enum EaseType { Linear, QuadIn, QuadOut, QuadInOut, CubeIn, CubeOut, Cube
public static class Ease
{
- public static readonly Easer Linear = (t) => { return t; };
- public static readonly Easer QuadIn = (t) => { return t * t; };
- public static readonly Easer QuadOut = (t) => { return 1 - QuadIn(1 - t); };
- public static readonly Easer QuadInOut = (t) => { return (t <= 0.5f) ? QuadIn(t * 2) / 2 : QuadOut(t * 2 - 1) / 2 + 0.5f; };
- public static readonly Easer CubeIn = (t) => { return t * t * t; };
- public static readonly Easer CubeOut = (t) => { return 1 - CubeIn(1 - t); };
- public static readonly Easer CubeInOut = (t) => { return (t <= 0.5f) ? CubeIn(t * 2) / 2 : CubeOut(t * 2 - 1) / 2 + 0.5f; };
- public static readonly Easer BackIn = (t) => { return t * t * (2.70158f * t - 1.70158f); };
- public static readonly Easer BackOut = (t) => { return 1 - BackIn(1 - t); };
- public static readonly Easer BackInOut = (t) => { return (t <= 0.5f) ? BackIn(t * 2) / 2 : BackOut(t * 2 - 1) / 2 + 0.5f; };
- public static readonly Easer ExpoIn = (t) => { return (float)Mathf.Pow(2, 10 * (t - 1)); };
- public static readonly Easer ExpoOut = (t) => { return 1 - ExpoIn(t); };
- public static readonly Easer ExpoInOut = (t) => { return t < .5f ? ExpoIn(t * 2) / 2 : ExpoOut(t * 2) / 2; };
- public static readonly Easer SineIn = (t) => { return -Mathf.Cos(Mathf.PI / 2 * t) + 1; };
- public static readonly Easer SineOut = (t) => { return Mathf.Sin(Mathf.PI / 2 * t); };
- public static readonly Easer SineInOut = (t) => { return -Mathf.Cos(Mathf.PI * t) / 2f + .5f; };
- public static readonly Easer ElasticIn = (t) => { return 1 - ElasticOut(1 - t); };
- public static readonly Easer ElasticOut = (t) => { return Mathf.Pow(2, -10 * t) * Mathf.Sin((t - 0.075f) * (2 * Mathf.PI) / 0.3f) + 1; };
- public static readonly Easer ElasticInOut = (t) => { return (t <= 0.5f) ? ElasticIn(t * 2) / 2 : ElasticOut(t * 2 - 1) / 2 + 0.5f; };
+ public static readonly Easer Linear = (t) => t;
+ public static readonly Easer QuadIn = (t) => t * t;
+ public static readonly Easer QuadOut = (t) => 1 - QuadIn(1 - t);
+ public static readonly Easer QuadInOut = (t) => (t <= 0.5f) ? QuadIn(t * 2) / 2 : QuadOut(t * 2 - 1) / 2 + 0.5f;
+ public static readonly Easer CubeIn = (t) => t * t * t;
+ public static readonly Easer CubeOut = (t) => 1 - CubeIn(1 - t);
+ public static readonly Easer CubeInOut = (t) => (t <= 0.5f) ? CubeIn(t * 2) / 2 : CubeOut(t * 2 - 1) / 2 + 0.5f;
+ public static readonly Easer BackIn = (t) => t * t * (2.70158f * t - 1.70158f);
+ public static readonly Easer BackOut = (t) => 1 - BackIn(1 - t);
+ public static readonly Easer BackInOut = (t) => (t <= 0.5f) ? BackIn(t * 2) / 2 : BackOut(t * 2 - 1) / 2 + 0.5f;
+ public static readonly Easer ExpoIn = (t) => (float)Mathf.Pow(2, 10 * (t - 1));
+ public static readonly Easer ExpoOut = (t) => 1 - ExpoIn(t);
+ public static readonly Easer ExpoInOut = (t) => t < .5f ? ExpoIn(t * 2) / 2 : ExpoOut(t * 2) / 2;
+ public static readonly Easer SineIn = (t) => -Mathf.Cos(Mathf.PI / 2 * t) + 1;
+ public static readonly Easer SineOut = (t) => Mathf.Sin(Mathf.PI / 2 * t);
+ public static readonly Easer SineInOut = (t) => -Mathf.Cos(Mathf.PI * t) / 2f + .5f;
+ public static readonly Easer ElasticIn = (t) => 1 - ElasticOut(1 - t);
+ public static readonly Easer ElasticOut = (t) => Mathf.Pow(2, -10 * t) * Mathf.Sin((t - 0.075f) * (2 * Mathf.PI) / 0.3f) + 1;
+ public static readonly Easer ElasticInOut = (t) => (t <= 0.5f) ? ElasticIn(t * 2) / 2 : ElasticOut(t * 2 - 1) / 2 + 0.5f;
public static Easer FromType(EaseType type)
{
switch (type)
{
- case EaseType.Linear: return Linear;
- case EaseType.QuadIn: return QuadIn;
- case EaseType.QuadOut: return QuadOut;
- case EaseType.QuadInOut: return QuadInOut;
- case EaseType.CubeIn: return CubeIn;
- case EaseType.CubeOut: return CubeOut;
- case EaseType.CubeInOut: return CubeInOut;
- case EaseType.BackIn: return BackIn;
- case EaseType.BackOut: return BackOut;
- case EaseType.BackInOut: return BackInOut;
- case EaseType.ExpoIn: return ExpoIn;
- case EaseType.ExpoOut: return ExpoOut;
- case EaseType.ExpoInOut: return ExpoInOut;
- case EaseType.SineIn: return SineIn;
- case EaseType.SineOut: return SineOut;
- case EaseType.SineInOut: return SineInOut;
- case EaseType.ElasticIn: return ElasticIn;
- case EaseType.ElasticOut: return ElasticOut;
- case EaseType.ElasticInOut: return ElasticInOut;
+ case EaseType.Linear: return Linear;
+ case EaseType.QuadIn: return QuadIn;
+ case EaseType.QuadOut: return QuadOut;
+ case EaseType.QuadInOut: return QuadInOut;
+ case EaseType.CubeIn: return CubeIn;
+ case EaseType.CubeOut: return CubeOut;
+ case EaseType.CubeInOut: return CubeInOut;
+ case EaseType.BackIn: return BackIn;
+ case EaseType.BackOut: return BackOut;
+ case EaseType.BackInOut: return BackInOut;
+ case EaseType.ExpoIn: return ExpoIn;
+ case EaseType.ExpoOut: return ExpoOut;
+ case EaseType.ExpoInOut: return ExpoInOut;
+ case EaseType.SineIn: return SineIn;
+ case EaseType.SineOut: return SineOut;
+ case EaseType.SineInOut: return SineInOut;
+ case EaseType.ElasticIn: return ElasticIn;
+ case EaseType.ElasticOut: return ElasticOut;
+ case EaseType.ElasticInOut: return ElasticInOut;
}
return Linear;
}
}
-#endregion
\ No newline at end of file
+#endregion
diff --git a/ProjectSettings/GraphicsSettings.asset b/ProjectSettings/GraphicsSettings.asset
index 4c8d526..2813590 100644
Binary files a/ProjectSettings/GraphicsSettings.asset and b/ProjectSettings/GraphicsSettings.asset differ
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index dc9cabc..d7b45ba 100644
Binary files a/ProjectSettings/ProjectSettings.asset and b/ProjectSettings/ProjectSettings.asset differ
diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt
new file mode 100644
index 0000000..e6cd1f9
--- /dev/null
+++ b/ProjectSettings/ProjectVersion.txt
@@ -0,0 +1 @@
+m_EditorVersion: 2017.3.0f3