TopDown Engine  v3.6
MoreMountains.Tools.MMTween Class Reference

The formulas described here are (loosely) based on Robert Penner's easing equations http://robertpenner.com/easing/ More...

Inheritance diagram for MoreMountains.Tools.MMTween:

Public Types

enum  MMTweenCurve {
  MMTweenCurve.LinearTween, MMTweenCurve.EaseInQuadratic, MMTweenCurve.EaseOutQuadratic, MMTweenCurve.EaseInOutQuadratic,
  MMTweenCurve.EaseInCubic, MMTweenCurve.EaseOutCubic, MMTweenCurve.EaseInOutCubic, MMTweenCurve.EaseInQuartic,
  MMTweenCurve.EaseOutQuartic, MMTweenCurve.EaseInOutQuartic, MMTweenCurve.EaseInQuintic, MMTweenCurve.EaseOutQuintic,
  MMTweenCurve.EaseInOutQuintic, MMTweenCurve.EaseInSinusoidal, MMTweenCurve.EaseOutSinusoidal, MMTweenCurve.EaseInOutSinusoidal,
  MMTweenCurve.EaseInBounce, MMTweenCurve.EaseOutBounce, MMTweenCurve.EaseInOutBounce, MMTweenCurve.EaseInOverhead,
  MMTweenCurve.EaseOutOverhead, MMTweenCurve.EaseInOutOverhead, MMTweenCurve.EaseInExponential, MMTweenCurve.EaseOutExponential,
  MMTweenCurve.EaseInOutExponential, MMTweenCurve.EaseInElastic, MMTweenCurve.EaseOutElastic, MMTweenCurve.EaseInOutElastic,
  MMTweenCurve.EaseInCircular, MMTweenCurve.EaseOutCircular, MMTweenCurve.EaseInOutCircular, MMTweenCurve.AntiLinearTween,
  MMTweenCurve.AlmostIdentity
}
 A list of all the possible curves you can tween a value along More...
 

Public Member Functions

delegate float TweenDelegate (float currentTime)
 

Static Public Member Functions

static float Tween (float currentTime, float initialTime, float endTime, float startValue, float endValue, MMTweenCurve curve)
 Moves a value between a startValue and an endValue based on a currentTime, along the specified tween curve More...
 
static float Evaluate (float t, MMTweenCurve curve)
 
static float Evaluate (float t, MMTweenType tweenType)
 
static float LinearTween (float currentTime)
 
static float AntiLinearTween (float currentTime)
 
static float EaseInQuadratic (float currentTime)
 
static float EaseOutQuadratic (float currentTime)
 
static float EaseInOutQuadratic (float currentTime)
 
static float EaseInCubic (float currentTime)
 
static float EaseOutCubic (float currentTime)
 
static float EaseInOutCubic (float currentTime)
 
static float EaseInQuartic (float currentTime)
 
static float EaseOutQuartic (float currentTime)
 
static float EaseInOutQuartic (float currentTime)
 
static float EaseInQuintic (float currentTime)
 
static float EaseOutQuintic (float currentTime)
 
static float EaseInOutQuintic (float currentTime)
 
static float EaseInSinusoidal (float currentTime)
 
static float EaseOutSinusoidal (float currentTime)
 
static float EaseInOutSinusoidal (float currentTime)
 
static float EaseInBounce (float currentTime)
 
static float EaseOutBounce (float currentTime)
 
static float EaseInOutBounce (float currentTime)
 
static float EaseInOverhead (float currentTime)
 
static float EaseOutOverhead (float currentTime)
 
static float EaseInOutOverhead (float currentTime)
 
static float EaseInExponential (float currentTime)
 
static float EaseOutExponential (float currentTime)
 
static float EaseInOutExponential (float currentTime)
 
static float EaseInElastic (float currentTime)
 
static float EaseOutElastic (float currentTime)
 
static float EaseInOutElastic (float currentTime)
 
static float EaseInCircular (float currentTime)
 
static float EaseOutCircular (float currentTime)
 
static float EaseInOutCircular (float currentTime)
 
static float AlmostIdentity (float currentTime)
 
static TweenDelegate GetTweenMethod (MMTweenCurve tween)
 To use : public MMTween.MMTweenCurve Tween = MMTween.MMTweenCurve.EaseInOutCubic; private MMTween.TweenDelegate _tween; More...
 
static Vector2 Tween (float currentTime, float initialTime, float endTime, Vector2 startValue, Vector2 endValue, MMTweenCurve curve)
 
static Vector3 Tween (float currentTime, float initialTime, float endTime, Vector3 startValue, Vector3 endValue, MMTweenCurve curve)
 
static Quaternion Tween (float currentTime, float initialTime, float endTime, Quaternion startValue, Quaternion endValue, MMTweenCurve curve)
 
static float Tween (float currentTime, float initialTime, float endTime, float startValue, float endValue, AnimationCurve curve)
 
static Vector2 Tween (float currentTime, float initialTime, float endTime, Vector2 startValue, Vector2 endValue, AnimationCurve curve)
 
static Vector3 Tween (float currentTime, float initialTime, float endTime, Vector3 startValue, Vector3 endValue, AnimationCurve curve)
 
static Quaternion Tween (float currentTime, float initialTime, float endTime, Quaternion startValue, Quaternion endValue, AnimationCurve curve)
 
static float Tween (float currentTime, float initialTime, float endTime, float startValue, float endValue, MMTweenType tweenType)
 
static Vector2 Tween (float currentTime, float initialTime, float endTime, Vector2 startValue, Vector2 endValue, MMTweenType tweenType)
 
static Vector3 Tween (float currentTime, float initialTime, float endTime, Vector3 startValue, Vector3 endValue, MMTweenType tweenType)
 
static Quaternion Tween (float currentTime, float initialTime, float endTime, Quaternion startValue, Quaternion endValue, MMTweenType tweenType)
 
static Coroutine MoveTransform (MonoBehaviour mono, Transform targetTransform, Vector3 origin, Vector3 destination, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool ignoreTimescale=false)
 
static Coroutine MoveRectTransform (MonoBehaviour mono, RectTransform targetTransform, Vector3 origin, Vector3 destination, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool ignoreTimescale=false)
 
static Coroutine MoveTransform (MonoBehaviour mono, Transform targetTransform, Transform origin, Transform destination, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool updatePosition=true, bool updateRotation=true, bool ignoreTimescale=false)
 
static Coroutine RotateTransformAround (MonoBehaviour mono, Transform targetTransform, Transform center, Transform destination, float angle, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool ignoreTimescale=false)
 

Static Public Attributes

static TweenDelegate[] TweenDelegateArray
 

Static Protected Member Functions

static IEnumerator MoveRectTransformCo (RectTransform targetTransform, Vector3 origin, Vector3 destination, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool ignoreTimescale=false)
 
static IEnumerator MoveTransformCo (Transform targetTransform, Vector3 origin, Vector3 destination, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool ignoreTimescale=false)
 
static IEnumerator MoveTransformCo (Transform targetTransform, Transform origin, Transform destination, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool updatePosition=true, bool updateRotation=true, bool ignoreTimescale=false)
 
static IEnumerator RotateTransformAroundCo (Transform targetTransform, Transform center, Transform destination, float angle, WaitForSeconds delay, float delayDuration, float duration, MMTween.MMTweenCurve curve, bool ignoreTimescale=false)
 

Detailed Description

The formulas described here are (loosely) based on Robert Penner's easing equations http://robertpenner.com/easing/

Member Enumeration Documentation

◆ MMTweenCurve

A list of all the possible curves you can tween a value along

Enumerator
LinearTween 
EaseInQuadratic 
EaseOutQuadratic 
EaseInOutQuadratic 
EaseInCubic 
EaseOutCubic 
EaseInOutCubic 
EaseInQuartic 
EaseOutQuartic 
EaseInOutQuartic 
EaseInQuintic 
EaseOutQuintic 
EaseInOutQuintic 
EaseInSinusoidal 
EaseOutSinusoidal 
EaseInOutSinusoidal 
EaseInBounce 
EaseOutBounce 
EaseInOutBounce 
EaseInOverhead 
EaseOutOverhead 
EaseInOutOverhead 
EaseInExponential 
EaseOutExponential 
EaseInOutExponential 
EaseInElastic 
EaseOutElastic 
EaseInOutElastic 
EaseInCircular 
EaseOutCircular 
EaseInOutCircular 
AntiLinearTween 
AlmostIdentity 

Member Function Documentation

◆ AlmostIdentity()

static float MoreMountains.Tools.MMTween.AlmostIdentity ( float  currentTime)
static

◆ AntiLinearTween()

static float MoreMountains.Tools.MMTween.AntiLinearTween ( float  currentTime)
static

◆ EaseInBounce()

static float MoreMountains.Tools.MMTween.EaseInBounce ( float  currentTime)
static

◆ EaseInCircular()

static float MoreMountains.Tools.MMTween.EaseInCircular ( float  currentTime)
static

◆ EaseInCubic()

static float MoreMountains.Tools.MMTween.EaseInCubic ( float  currentTime)
static

◆ EaseInElastic()

static float MoreMountains.Tools.MMTween.EaseInElastic ( float  currentTime)
static

◆ EaseInExponential()

static float MoreMountains.Tools.MMTween.EaseInExponential ( float  currentTime)
static

◆ EaseInOutBounce()

static float MoreMountains.Tools.MMTween.EaseInOutBounce ( float  currentTime)
static

◆ EaseInOutCircular()

static float MoreMountains.Tools.MMTween.EaseInOutCircular ( float  currentTime)
static

◆ EaseInOutCubic()

static float MoreMountains.Tools.MMTween.EaseInOutCubic ( float  currentTime)
static

◆ EaseInOutElastic()

static float MoreMountains.Tools.MMTween.EaseInOutElastic ( float  currentTime)
static

◆ EaseInOutExponential()

static float MoreMountains.Tools.MMTween.EaseInOutExponential ( float  currentTime)
static

◆ EaseInOutOverhead()

static float MoreMountains.Tools.MMTween.EaseInOutOverhead ( float  currentTime)
static

◆ EaseInOutQuadratic()

static float MoreMountains.Tools.MMTween.EaseInOutQuadratic ( float  currentTime)
static

◆ EaseInOutQuartic()

static float MoreMountains.Tools.MMTween.EaseInOutQuartic ( float  currentTime)
static

◆ EaseInOutQuintic()

static float MoreMountains.Tools.MMTween.EaseInOutQuintic ( float  currentTime)
static

◆ EaseInOutSinusoidal()

static float MoreMountains.Tools.MMTween.EaseInOutSinusoidal ( float  currentTime)
static

◆ EaseInOverhead()

static float MoreMountains.Tools.MMTween.EaseInOverhead ( float  currentTime)
static

◆ EaseInQuadratic()

static float MoreMountains.Tools.MMTween.EaseInQuadratic ( float  currentTime)
static

◆ EaseInQuartic()

static float MoreMountains.Tools.MMTween.EaseInQuartic ( float  currentTime)
static

◆ EaseInQuintic()

static float MoreMountains.Tools.MMTween.EaseInQuintic ( float  currentTime)
static

◆ EaseInSinusoidal()

static float MoreMountains.Tools.MMTween.EaseInSinusoidal ( float  currentTime)
static

◆ EaseOutBounce()

static float MoreMountains.Tools.MMTween.EaseOutBounce ( float  currentTime)
static

◆ EaseOutCircular()

static float MoreMountains.Tools.MMTween.EaseOutCircular ( float  currentTime)
static

◆ EaseOutCubic()

static float MoreMountains.Tools.MMTween.EaseOutCubic ( float  currentTime)
static

◆ EaseOutElastic()

static float MoreMountains.Tools.MMTween.EaseOutElastic ( float  currentTime)
static

◆ EaseOutExponential()

static float MoreMountains.Tools.MMTween.EaseOutExponential ( float  currentTime)
static

◆ EaseOutOverhead()

static float MoreMountains.Tools.MMTween.EaseOutOverhead ( float  currentTime)
static

◆ EaseOutQuadratic()

static float MoreMountains.Tools.MMTween.EaseOutQuadratic ( float  currentTime)
static

◆ EaseOutQuartic()

static float MoreMountains.Tools.MMTween.EaseOutQuartic ( float  currentTime)
static

◆ EaseOutQuintic()

static float MoreMountains.Tools.MMTween.EaseOutQuintic ( float  currentTime)
static

◆ EaseOutSinusoidal()

static float MoreMountains.Tools.MMTween.EaseOutSinusoidal ( float  currentTime)
static

◆ Evaluate() [1/2]

static float MoreMountains.Tools.MMTween.Evaluate ( float  t,
MMTweenCurve  curve 
)
static

◆ Evaluate() [2/2]

static float MoreMountains.Tools.MMTween.Evaluate ( float  t,
MMTweenType  tweenType 
)
static

◆ GetTweenMethod()

static TweenDelegate MoreMountains.Tools.MMTween.GetTweenMethod ( MMTweenCurve  tween)
static

To use : public MMTween.MMTweenCurve Tween = MMTween.MMTweenCurve.EaseInOutCubic; private MMTween.TweenDelegate _tween;

_tween = MMTween.GetTweenMethod(Tween); float t = _tween(someFloat);

Parameters
tween
Returns

◆ LinearTween()

static float MoreMountains.Tools.MMTween.LinearTween ( float  currentTime)
static

◆ MoveRectTransform()

static Coroutine MoreMountains.Tools.MMTween.MoveRectTransform ( MonoBehaviour  mono,
RectTransform  targetTransform,
Vector3  origin,
Vector3  destination,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  ignoreTimescale = false 
)
static

◆ MoveRectTransformCo()

static IEnumerator MoreMountains.Tools.MMTween.MoveRectTransformCo ( RectTransform  targetTransform,
Vector3  origin,
Vector3  destination,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  ignoreTimescale = false 
)
staticprotected

◆ MoveTransform() [1/2]

static Coroutine MoreMountains.Tools.MMTween.MoveTransform ( MonoBehaviour  mono,
Transform  targetTransform,
Transform  origin,
Transform  destination,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  updatePosition = true,
bool  updateRotation = true,
bool  ignoreTimescale = false 
)
static

◆ MoveTransform() [2/2]

static Coroutine MoreMountains.Tools.MMTween.MoveTransform ( MonoBehaviour  mono,
Transform  targetTransform,
Vector3  origin,
Vector3  destination,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  ignoreTimescale = false 
)
static

◆ MoveTransformCo() [1/2]

static IEnumerator MoreMountains.Tools.MMTween.MoveTransformCo ( Transform  targetTransform,
Transform  origin,
Transform  destination,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  updatePosition = true,
bool  updateRotation = true,
bool  ignoreTimescale = false 
)
staticprotected

◆ MoveTransformCo() [2/2]

static IEnumerator MoreMountains.Tools.MMTween.MoveTransformCo ( Transform  targetTransform,
Vector3  origin,
Vector3  destination,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  ignoreTimescale = false 
)
staticprotected

◆ RotateTransformAround()

static Coroutine MoreMountains.Tools.MMTween.RotateTransformAround ( MonoBehaviour  mono,
Transform  targetTransform,
Transform  center,
Transform  destination,
float  angle,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  ignoreTimescale = false 
)
static

◆ RotateTransformAroundCo()

static IEnumerator MoreMountains.Tools.MMTween.RotateTransformAroundCo ( Transform  targetTransform,
Transform  center,
Transform  destination,
float  angle,
WaitForSeconds  delay,
float  delayDuration,
float  duration,
MMTween.MMTweenCurve  curve,
bool  ignoreTimescale = false 
)
staticprotected

◆ Tween() [1/12]

static float MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
float  startValue,
float  endValue,
AnimationCurve  curve 
)
static

◆ Tween() [2/12]

static float MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
float  startValue,
float  endValue,
MMTweenCurve  curve 
)
static

Moves a value between a startValue and an endValue based on a currentTime, along the specified tween curve

Parameters
currentTime
initialTime
endTime
startValue
endValue
curve
Returns

◆ Tween() [3/12]

static float MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
float  startValue,
float  endValue,
MMTweenType  tweenType 
)
static

◆ Tween() [4/12]

static Quaternion MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Quaternion  startValue,
Quaternion  endValue,
AnimationCurve  curve 
)
static

◆ Tween() [5/12]

static Quaternion MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Quaternion  startValue,
Quaternion  endValue,
MMTweenCurve  curve 
)
static

◆ Tween() [6/12]

static Quaternion MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Quaternion  startValue,
Quaternion  endValue,
MMTweenType  tweenType 
)
static

◆ Tween() [7/12]

static Vector2 MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Vector2  startValue,
Vector2  endValue,
AnimationCurve  curve 
)
static

◆ Tween() [8/12]

static Vector2 MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Vector2  startValue,
Vector2  endValue,
MMTweenCurve  curve 
)
static

◆ Tween() [9/12]

static Vector2 MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Vector2  startValue,
Vector2  endValue,
MMTweenType  tweenType 
)
static

◆ Tween() [10/12]

static Vector3 MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Vector3  startValue,
Vector3  endValue,
AnimationCurve  curve 
)
static

◆ Tween() [11/12]

static Vector3 MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Vector3  startValue,
Vector3  endValue,
MMTweenCurve  curve 
)
static

◆ Tween() [12/12]

static Vector3 MoreMountains.Tools.MMTween.Tween ( float  currentTime,
float  initialTime,
float  endTime,
Vector3  startValue,
Vector3  endValue,
MMTweenType  tweenType 
)
static

◆ TweenDelegate()

delegate float MoreMountains.Tools.MMTween.TweenDelegate ( float  currentTime)

Member Data Documentation

◆ TweenDelegateArray


The documentation for this class was generated from the following file:
MoreMountains.Tools.MMTween.EaseInOutCircular
static float EaseInOutCircular(float currentTime)
Definition: MMTween.cs:119
MoreMountains.Tools.MMTween.EaseInOutQuintic
static float EaseInOutQuintic(float currentTime)
Definition: MMTween.cs:101
MoreMountains.Tools.MMTween.EaseInOutQuadratic
static float EaseInOutQuadratic(float currentTime)
Definition: MMTween.cs:92
MoreMountains.Tools.MMTween.EaseInSinusoidal
static float EaseInSinusoidal(float currentTime)
Definition: MMTween.cs:102
MoreMountains.Tools.MMTween.TweenDelegate
delegate float TweenDelegate(float currentTime)
MoreMountains.Tools.MMTween.EaseOutBounce
static float EaseOutBounce(float currentTime)
Definition: MMTween.cs:106
MoreMountains.Tools.MMTween.AlmostIdentity
static float AlmostIdentity(float currentTime)
Definition: MMTween.cs:120
MoreMountains.Tools.MMTween.EaseInCircular
static float EaseInCircular(float currentTime)
Definition: MMTween.cs:117
MoreMountains.Tools.MMTween.EaseInOutBounce
static float EaseInOutBounce(float currentTime)
Definition: MMTween.cs:107
MoreMountains.Tools.MMTween.LinearTween
static float LinearTween(float currentTime)
Definition: MMTween.cs:88
MoreMountains.Tools.MMTween.EaseOutElastic
static float EaseOutElastic(float currentTime)
Definition: MMTween.cs:115
MoreMountains.Tools.MMTween.EaseOutCircular
static float EaseOutCircular(float currentTime)
Definition: MMTween.cs:118
MoreMountains.Tools.MMTween.EaseInQuintic
static float EaseInQuintic(float currentTime)
Definition: MMTween.cs:99
MoreMountains.Tools.MMTween.AntiLinearTween
static float AntiLinearTween(float currentTime)
Definition: MMTween.cs:89
MoreMountains.Tools.MMTween.EaseInOutCubic
static float EaseInOutCubic(float currentTime)
Definition: MMTween.cs:95
MoreMountains.Tools.MMTween.EaseInOutElastic
static float EaseInOutElastic(float currentTime)
Definition: MMTween.cs:116
MoreMountains.Tools.MMTween.EaseInOutQuartic
static float EaseInOutQuartic(float currentTime)
Definition: MMTween.cs:98
MoreMountains.Tools.MMTween.EaseInCubic
static float EaseInCubic(float currentTime)
Definition: MMTween.cs:93
MoreMountains.Tools.MMTween.EaseInElastic
static float EaseInElastic(float currentTime)
Definition: MMTween.cs:114
MoreMountains.Tools.MMTween.EaseInQuadratic
static float EaseInQuadratic(float currentTime)
Definition: MMTween.cs:90
MoreMountains.Tools.MMTween.EaseInQuartic
static float EaseInQuartic(float currentTime)
Definition: MMTween.cs:96
MoreMountains.Tools.MMTween.EaseInBounce
static float EaseInBounce(float currentTime)
Definition: MMTween.cs:105
MoreMountains.Tools.MMTween.EaseOutSinusoidal
static float EaseOutSinusoidal(float currentTime)
Definition: MMTween.cs:103
MoreMountains.Tools.MMTween.EaseInOutExponential
static float EaseInOutExponential(float currentTime)
Definition: MMTween.cs:113
MoreMountains.Tools.MMTween.EaseOutCubic
static float EaseOutCubic(float currentTime)
Definition: MMTween.cs:94
MoreMountains.Tools.MMTween.EaseInOutSinusoidal
static float EaseInOutSinusoidal(float currentTime)
Definition: MMTween.cs:104
MoreMountains.Tools.MMTween.EaseInOutOverhead
static float EaseInOutOverhead(float currentTime)
Definition: MMTween.cs:110
MoreMountains.Tools.MMTween.EaseInExponential
static float EaseInExponential(float currentTime)
Definition: MMTween.cs:111
MoreMountains.Tools.MMTween.EaseOutQuadratic
static float EaseOutQuadratic(float currentTime)
Definition: MMTween.cs:91
MoreMountains.Tools.MMTween.EaseInOverhead
static float EaseInOverhead(float currentTime)
Definition: MMTween.cs:108
MoreMountains.Tools.MMTween.EaseOutExponential
static float EaseOutExponential(float currentTime)
Definition: MMTween.cs:112
MoreMountains.Tools.MMTween.EaseOutQuintic
static float EaseOutQuintic(float currentTime)
Definition: MMTween.cs:100
MoreMountains.Tools.MMTween.EaseOutOverhead
static float EaseOutOverhead(float currentTime)
Definition: MMTween.cs:109
MoreMountains.Tools.MMTween.EaseOutQuartic
static float EaseOutQuartic(float currentTime)
Definition: MMTween.cs:97