From 759292859c15e169fcab0e3209c1546623feb347 Mon Sep 17 00:00:00 2001 From: Demigiant Date: Fri, 1 Mar 2019 16:21:16 +0100 Subject: [PATCH] [MAJOR REFACTORING] Added From overload that allows to set directly the start value of a tween --- .../Assets/Demigiant/DOTween/DOTween.XML | 21 ++ .../Assets/Demigiant/DOTween/DOTween.dll | Bin 152064 -> 155136 bytes .../Assets/Demigiant/DOTween/DOTween.dll.mdb | Bin 58193 -> 59388 bytes .../DOTween/Editor/DOTweenEditor.dll | Bin 46080 -> 46080 bytes .../DOTween/Editor/DOTweenEditor.dll.mdb | Bin 8242 -> 8242 bytes .../DOTween/Editor/DOTweenUpgradeManager.dll | Bin 10752 -> 10752 bytes .../Editor/DOTweenUpgradeManager.dll.mdb | Bin 889 -> 889 bytes .../DOTween/Modules/DOTweenModuleAudio.cs | 23 +- .../DOTween/Modules/DOTweenModulePhysics.cs | 32 ++- .../DOTween/Modules/DOTweenModulePhysics2D.cs | 30 +- .../DOTween/Modules/DOTweenModuleSprite.cs | 14 +- .../DOTween/Modules/DOTweenModuleUI.cs | 206 ++++++++------ .../Modules/DOTweenModuleUnityVersion.cs | 13 +- .../Core/Editor/Imgs/whiteSquare.png.meta | 2 +- .../CustomPlugin Example/CustomRangePlugin.cs | 6 + .../CustomPlugin Example/old (scrapped).meta | 9 - .../old (scrapped)/PlugCustomPlugin.cs | 74 ----- .../Assets/_Tests/DOCompletePerformance.cs | 2 +- UnityTests.Unity5/Assets/_Tests/FromValue.cs | 19 ++ .../FromValue.cs.meta} | 6 +- .../Assets/_Tests/FromValue.unity | Bin 0 -> 12032 bytes .../Assets/_Tests/FromValue.unity.meta | 4 + _DOTween.Assembly/DOTween/Core/TweenerCore.cs | 11 + .../CustomPlugins/PureQuaternionPlugin.cs | 6 + _DOTween.Assembly/DOTween/DOTween.cs | 19 +- .../DOTween/Plugins/Color2Plugin.cs | 13 + .../DOTween/Plugins/ColorPlugin.cs | 12 + .../DOTween/Plugins/Core/ABSTweenPlugin.cs | 1 + .../DOTween/Plugins/DoublePlugin.cs | 5 + .../DOTween/Plugins/FloatPlugin.cs | 5 + .../DOTween/Plugins/IntPlugin.cs | 5 + .../DOTween/Plugins/LongPlugin.cs | 5 + .../DOTween/Plugins/PathPlugin.cs | 1 + .../DOTween/Plugins/QuaternionPlugin.cs | 5 + .../DOTween/Plugins/RectOffsetPlugin.cs | 5 + .../DOTween/Plugins/RectPlugin.cs | 14 + .../DOTween/Plugins/StringPlugin.cs | 5 + .../DOTween/Plugins/UintPlugin.cs | 5 + .../DOTween/Plugins/UlongPlugin.cs | 5 + .../DOTween/Plugins/Vector2Plugin.cs | 25 ++ .../DOTween/Plugins/Vector3ArrayPlugin.cs | 1 + .../DOTween/Plugins/Vector3Plugin.cs | 30 ++ .../DOTween/Plugins/Vector4Plugin.cs | 36 +++ .../DOTween/ShortcutExtensions.cs | 261 +++++++++++------- .../DOTween/TweenSettingsExtensions.cs | 48 ++++ _DOTween.Assembly/bin/DOTween.XML | 21 ++ _DOTween.Assembly/bin/DOTween.dll | Bin 152064 -> 155136 bytes _DOTween.Assembly/bin/DOTween.dll.mdb | Bin 58193 -> 59388 bytes .../bin/Editor/DOTweenEditor.dll | Bin 46080 -> 46080 bytes .../bin/Editor/DOTweenEditor.dll.mdb | Bin 8242 -> 8242 bytes .../bin/Editor/DOTweenUpgradeManager.dll | Bin 10752 -> 10752 bytes .../bin/Editor/DOTweenUpgradeManager.dll.mdb | Bin 889 -> 889 bytes .../bin/Modules/DOTweenModuleAudio.cs | 23 +- .../bin/Modules/DOTweenModulePhysics.cs | 32 ++- .../bin/Modules/DOTweenModulePhysics2D.cs | 30 +- .../bin/Modules/DOTweenModuleSprite.cs | 14 +- .../bin/Modules/DOTweenModuleUI.cs | 206 ++++++++------ .../bin/Modules/DOTweenModuleUnityVersion.cs | 13 +- 58 files changed, 875 insertions(+), 448 deletions(-) delete mode 100644 UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped).meta delete mode 100644 UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs create mode 100644 UnityTests.Unity5/Assets/_Tests/FromValue.cs rename UnityTests.Unity5/Assets/{_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs.meta => _Tests/FromValue.cs.meta} (53%) create mode 100644 UnityTests.Unity5/Assets/_Tests/FromValue.unity create mode 100644 UnityTests.Unity5/Assets/_Tests/FromValue.unity.meta diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML index 7046bfe..1345284 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML @@ -273,6 +273,9 @@ INTERNAL: do not use + + INTERNAL: do not use + INTERNAL: do not use @@ -2383,6 +2386,24 @@ then immediately sends the target to the previously set endValue. If TRUE the FROM value will be calculated as relative to the current one + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Alpha value to start from (in case of Fade tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + Sets a delayed startup for the tween. Has no effect on Sequences or if the tween has already started diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll index d6d8103c7cfd7f0595d84a3d5d7459bffcf868d9..3a0f645072d6988f1645dc5fa8328cc1f5867b96 100644 GIT binary patch literal 155136 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 literal 152064 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 diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb index c80812c0b694d68d8a3a02dda21e8f22f6a6844e..f0bbf1f9229454e13d85899da058d773dcbf5d8f 100644 GIT binary patch literal 59388 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 Dh`g+k literal 58193 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 diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll index 19a8b0519985a811a8a92babac3dcabd00c96ce1..887b1cfa2068c6c0c66254522aca428df8a5fc8b 100644 GIT binary patch delta 68 zcmZp8!PM}AX+j6Hwom28?uiQp9QSIo*PlP&*Uy@M+<|?;lg&Dd9JoNTlk?X|3LIH- YaR>X;!wwVdzZToiPyMlZ#+nRv0Q&tN!~g&Q delta 68 zcmZp8!PM}AX+j6{yYJ;2yC*IbNV#;(*s#>obzZ-}$(~jDx|?+tIdFkwC+Dw`6qx-m Y`a#u;X0I*ZzR8>ssm|RzV@(D-0DzkzumAu6 diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb index 3181ee138c51bac7b7c3e8a4397917a52b2ffb95..90e94a52509acb7a8ea53b1cdad33fd5584f0816 100644 GIT binary patch delta 270 zcmV+p0rCE_K(as}6sCXuBPQrYG5`Po00000LA@&nf6u^9j|FGPKnI}Yks!4XL@U54 zTpmiY@T4hNhA0=2Bun+b5zbKx&gl1%(ibhO8WMF|16ZtprNZOD!9d+XaCTWrw6B U_okdhwO&O%e|+zCvup;&8TC|giU0rr delta 270 zcmV+p0rCE_K(as}6sCXuBPQrYG5`Po00000WYWenF?C5ro{vv7ysB?4ks!4XTW?ac z0MJc_v&!o<@~>!-WV>_eQ_|5&@-Y8#UU19%WChg=;P zkF!mK*qRzV)iwc>jRSiS8*ZqIW_#F4p^}nJGxKzVlNbbs5H+klEg+H0NRjesst9Zc zQj@L(h!7ISUkzR48b^(pe(YfD$54|-1%(g<%tbA_DRU7vup;&8NQ8n%K!iX diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll index dd09104b57755c9101a4f2a35df3761b05b5a2ef..56f348e6c8d327674219a351e69441ee8a3cc1bf 100644 GIT binary patch delta 86 zcmZn&X$YCn!K~#|xv~4Bn81?v|r$FNhy{dVPuX<_7r&E&$9m8*Tsq delta 86 zcmZn&X$YCn!TjcX`Nr;#VgltMY_}%f4tCmcCFoy{xn2L}9`O_GIzZVN1|VPpVi`sT mh8$ZUmS9#BONWE< k?>Ey7`zOAr7dXzA{(gTIkI#zI^G}_lmYv^R&d9_B01#Cnq5uE@ delta 82 zcmey#_LEIPWLf=RWwjTsMhp;89>R8O;_YCk9an<><(S*`PgK|;;Cbe)*2B|@?)^u_ k&M(gi;+puPUf}QL%g0$|KYH%_VNufS>!7x|oRNtM0DPPyH2?qr diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs index c342c02..c195b6c 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleAudio.cs @@ -3,6 +3,8 @@ #if true // MODULE_MARKER using System; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; using UnityEngine; #if UNITY_5 || UNITY_2017_1_OR_NEWER using UnityEngine.Audio; // Required for AudioMixer @@ -20,19 +22,23 @@ namespace DG.Tweening /// Tweens an AudioSource's volume to the given value. /// Also stores the AudioSource as the tween's target so it can be used for filtered operations /// The end value to reach (0 to 1)The duration of the tween - public static Tweener DOFade(this AudioSource target, float endValue, float duration) + public static TweenerCore DOFade(this AudioSource target, float endValue, float duration) { if (endValue < 0) endValue = 0; else if (endValue > 1) endValue = 1; - return DOTween.To(() => target.volume, x => target.volume = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an AudioSource's pitch to the given value. /// Also stores the AudioSource as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPitch(this AudioSource target, float endValue, float duration) + public static TweenerCore DOPitch(this AudioSource target, float endValue, float duration) { - return DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -45,14 +51,15 @@ namespace DG.Tweening /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer. /// Name given to the exposed float to set /// The end value to reachThe duration of the tween - public static Tweener DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration) + public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration) { - return DOTween.To(()=> { + TweenerCore t = DOTween.To(()=> { float currVal; target.GetFloat(floatName, out currVal); return currVal; - }, x=> target.SetFloat(floatName, x), endValue, duration) - .SetTarget(target); + }, x=> target.SetFloat(floatName, x), endValue, duration); + t.SetTarget(target); + return t; } #region Operation Shortcuts diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs index 2a85cc6..a1a1cb9 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics.cs @@ -23,47 +23,51 @@ namespace DG.Tweening /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false) + public static TweenerCore DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's X position to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's Y position to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's Z position to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's rotation to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// Rotation mode - public static Tweener DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) + public static TweenerCore DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) { TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); t.SetTarget(target); @@ -76,7 +80,7 @@ namespace DG.Tweening /// The position to look atThe duration of the tween /// Eventual axis constraint for the rotation /// The vector that defines in which direction up is (default: Vector3.up) - public static Tweener DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null) + public static TweenerCore DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null) { TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration) .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt); diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs index f4e2aa2..f40a7d0 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModulePhysics2D.cs @@ -3,6 +3,8 @@ #if true && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER using System; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; using UnityEngine; #pragma warning disable 1591 @@ -18,39 +20,43 @@ namespace DG.Tweening /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody2D's X position to the given value. /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody2D's Y position to the given value. /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody2D's rotation to the given value. /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DORotate(this Rigidbody2D target, float endValue, float duration) + public static TweenerCore DORotate(this Rigidbody2D target, float endValue, float duration) { - return DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); + t.SetTarget(target); + return t; } #region Special diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs index 12e07aa..9450ca5 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleSprite.cs @@ -5,6 +5,7 @@ using System; using UnityEngine; using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; #pragma warning disable 1591 namespace DG.Tweening @@ -18,18 +19,21 @@ namespace DG.Tweening /// Tweens a SpriteRenderer's color to the given value. /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this SpriteRenderer target, Color endValue, float duration) + public static TweenerCore DOColor(this SpriteRenderer target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's alpha color to the given value. /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this SpriteRenderer target, float endValue, float duration) + public static TweenerCore DOFade(this SpriteRenderer target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a SpriteRenderer's color using the given gradient diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs index df2b42c..072c02c 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUI.cs @@ -7,6 +7,7 @@ using UnityEngine; using UnityEngine.UI; using DG.Tweening.Core; using DG.Tweening.Core.Enums; +using DG.Tweening.Plugins.Options; #pragma warning disable 1591 namespace DG.Tweening @@ -20,10 +21,11 @@ namespace DG.Tweening /// Tweens a CanvasGroup's alpha color to the given value. /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this CanvasGroup target, float endValue, float duration) + public static TweenerCore DOFade(this CanvasGroup target, float endValue, float duration) { - return DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -33,18 +35,21 @@ namespace DG.Tweening /// Tweens an Graphic's color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Graphic target, Color endValue, float duration) + public static TweenerCore DOColor(this Graphic target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Graphic's alpha color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Graphic target, float endValue, float duration) + public static TweenerCore DOFade(this Graphic target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -54,29 +59,33 @@ namespace DG.Tweening /// Tweens an Image's color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Image target, Color endValue, float duration) + public static TweenerCore DOColor(this Image target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Image's alpha color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Image target, float endValue, float duration) + public static TweenerCore DOFade(this Image target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Image's fillAmount to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reach (0 to 1)The duration of the tween - public static Tweener DOFillAmount(this Image target, float endValue, float duration) + public static TweenerCore DOFillAmount(this Image target, float endValue, float duration) { if (endValue > 1) endValue = 1; else if (endValue < 0) endValue = 0; - return DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Image's colors using the given gradient @@ -110,39 +119,42 @@ namespace DG.Tweening /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => { + TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => { target.flexibleWidth = x.x; target.flexibleHeight = x.y; - }, endValue, duration) - .SetOptions(snapping).SetTarget(target); + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens an LayoutElement's minWidth/Height to the given value. /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => { + TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => { target.minWidth = x.x; target.minHeight = x.y; - }, endValue, duration) - .SetOptions(snapping).SetTarget(target); + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens an LayoutElement's preferredWidth/Height to the given value. /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => { + TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => { target.preferredWidth = x.x; target.preferredHeight = x.y; - }, endValue, duration) - .SetOptions(snapping).SetTarget(target); + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } #endregion @@ -152,27 +164,31 @@ namespace DG.Tweening /// Tweens a Outline's effectColor to the given value. /// Also stores the Outline as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Outline target, Color endValue, float duration) + public static TweenerCore DOColor(this Outline target, Color endValue, float duration) { - return DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Outline's effectColor alpha to the given value. /// Also stores the Outline as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Outline target, float endValue, float duration) + public static TweenerCore DOFade(this Outline target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Outline's effectDistance to the given value. /// Also stores the Outline as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScale(this Outline target, Vector2 endValue, float duration) + public static TweenerCore DOScale(this Outline target, Vector2 endValue, float duration) { - return DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -183,120 +199,133 @@ namespace DG.Tweening /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition X to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition Y to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D X to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D Y to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D Z to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchorMax to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchorMin to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's pivot to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPivot(this RectTransform target, Vector2 endValue, float duration) + public static TweenerCore DOPivot(this RectTransform target, Vector2 endValue, float duration) { - return DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a RectTransform's pivot X to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPivotX(this RectTransform target, float endValue, float duration) + public static TweenerCore DOPivotX(this RectTransform target, float endValue, float duration) { - return DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration) - .SetOptions(AxisConstraint.X).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X).SetTarget(target); + return t; } /// Tweens a RectTransform's pivot Y to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPivotY(this RectTransform target, float endValue, float duration) + public static TweenerCore DOPivotY(this RectTransform target, float endValue, float duration) { - return DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration) - .SetOptions(AxisConstraint.Y).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y).SetTarget(target); + return t; } /// Tweens a RectTransform's sizeDelta to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one @@ -430,10 +459,11 @@ namespace DG.Tweening /// Also stores the Slider as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOValue(this Slider target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOValue(this Slider target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.value, x => target.value = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.value, x => target.value = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } #endregion @@ -443,18 +473,21 @@ namespace DG.Tweening /// Tweens a Text's color to the given value. /// Also stores the Text as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Text target, Color endValue, float duration) + public static TweenerCore DOColor(this Text target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Text's alpha color to the given value. /// Also stores the Text as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Text target, float endValue, float duration) + public static TweenerCore DOFade(this Text target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Text's text to the given value. @@ -466,11 +499,12 @@ namespace DG.Tweening /// A string containing the characters to use for scrambling. /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters. /// Leave it to NULL (default) to use default ones - public static Tweener DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null) + public static TweenerCore DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null) { - return DOTween.To(() => target.text, x => target.text = x, endValue, duration) - .SetOptions(richTextEnabled, scrambleMode, scrambleChars) + TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration); + t.SetOptions(richTextEnabled, scrambleMode, scrambleChars) .SetTarget(target); + return t; } #endregion diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs index caede5e..176ecae 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Modules/DOTweenModuleUnityVersion.cs @@ -4,6 +4,7 @@ using System; using UnityEngine; using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; #pragma warning disable 1591 namespace DG.Tweening @@ -178,13 +179,15 @@ namespace DG.Tweening /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOOffset(this Material target, Vector2 endValue, int propertyID, float duration) + public static TweenerCore DOOffset(this Material target, Vector2 endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named texture scale property with the given ID to the given value. @@ -192,13 +195,15 @@ namespace DG.Tweening /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOTiling(this Material target, Vector2 endValue, int propertyID, float duration) + public static TweenerCore DOTiling(this Material target, Vector2 endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } #endregion diff --git a/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/whiteSquare.png.meta b/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/whiteSquare.png.meta index 64c38ed..02f9661 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/whiteSquare.png.meta +++ b/UnityTests.Unity5/Assets/Demigiant/DemiLib/Core/Editor/Imgs/whiteSquare.png.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: d3e15b806a8368742ba6f10e794d7b76 -timeCreated: 1551364502 +timeCreated: 1551372288 licenseType: Pro TextureImporter: fileIDToRecycleName: {} diff --git a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/CustomRangePlugin.cs b/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/CustomRangePlugin.cs index 4bf6454..f1bf62d 100644 --- a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/CustomRangePlugin.cs +++ b/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/CustomRangePlugin.cs @@ -25,6 +25,12 @@ public class CustomRangePlugin : ABSTweenPlugin t, CustomRange fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } + // Used by special plugins, just let it return the given value public override CustomRange ConvertToStartValue(TweenerCore t, CustomRange value) { diff --git a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped).meta b/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped).meta deleted file mode 100644 index 4f7ba02..0000000 --- a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped).meta +++ /dev/null @@ -1,9 +0,0 @@ -fileFormatVersion: 2 -guid: 0e19028f4214f3241b7878d71060677c -folderAsset: yes -timeCreated: 1444384496 -licenseType: Free -DefaultImporter: - userData: - assetBundleName: - assetBundleVariant: diff --git a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs b/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs deleted file mode 100644 index 6a736d2..0000000 --- a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs +++ /dev/null @@ -1,74 +0,0 @@ -using DG.Tweening; -using DG.Tweening.Core; -using DG.Tweening.Core.Easing; -using DG.Tweening.Core.Enums; -using DG.Tweening.Plugins.Core; -using DG.Tweening.Plugins.Options; -using System; -using UnityEngine; - -public struct PlugCustomPlugin : IPlugSetter -{ - readonly Vector3 _endValue; - readonly DOGetter _getter; - readonly DOSetter _setter; - - public PlugCustomPlugin(DOGetter getter, DOSetter setter, float endValue) - { - _getter = getter; - _setter = setter; - _endValue = new Vector3(endValue, 0, 0); - } - - public DOGetter Getter() { return _getter; } - public DOSetter Setter() { return _setter; } - public Vector3 EndValue() { return _endValue; } - public NoOptions GetOptions() { return new NoOptions(); } -} - -// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// ||| CLASS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| -// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -public class CustomPlugin : ABSTweenPlugin -{ - public override void Reset(TweenerCore t) {} - - public override void SetFrom(TweenerCore t, bool isRelative) - { - Vector3 prevEndVal = t.endValue; - t.endValue = t.getter(); - t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; - t.setter(t.startValue); - } - - public override Vector3 ConvertToStartValue(TweenerCore t, Vector3 value) - { - return value; - } - - public override void SetRelativeEndValue(TweenerCore t) - { - t.endValue = t.startValue + t.changeValue; - } - - public override void SetChangeValue(TweenerCore t) - { - t.changeValue = t.endValue - t.startValue; - } - - public override float GetSpeedBasedDuration(NoOptions options, float unitsXSecond, Vector3 changeValue) - { - float res = changeValue.magnitude / unitsXSecond; - if (res < 0) res = -res; - return res; - } - - public override void EvaluateAndApply(NoOptions options, Tween t, bool isRelative, DOGetter getter, DOSetter setter, float elapsed, Vector3 startValue, Vector3 changeValue, float duration, bool usingInversePosition, UpdateNotice updateNotice) - { - Vector3 res = getter(); - float easeVal = EaseManager.Evaluate(t, elapsed, duration, t.easeOvershootOrAmplitude, t.easePeriod); - res.x = startValue.x + changeValue.x * easeVal; - setter(res); - } -} \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/DOCompletePerformance.cs b/UnityTests.Unity5/Assets/_Tests/DOCompletePerformance.cs index 1daf89c..c452cb0 100644 --- a/UnityTests.Unity5/Assets/_Tests/DOCompletePerformance.cs +++ b/UnityTests.Unity5/Assets/_Tests/DOCompletePerformance.cs @@ -14,7 +14,7 @@ public class DOCompletePerformance : BrainBase Debug.Log(Time.realtimeSinceStartup + " :: Create " + totTweens + " tweens on " + (tweenFloatValue ? "float" : "transform")); for (int i = 0; i < totTweens; ++i) { Tween t = tweenFloatValue - ? DOTween.To(()=> floatValue, x=> floatValue = x, 2, 10) + ? (Tween)DOTween.To(()=> floatValue, x=> floatValue = x, 2, 10) : target.DOMoveX(2, 10); if (!byTarget) t.SetId("myId"); else if (tweenFloatValue) t.SetTarget(target); diff --git a/UnityTests.Unity5/Assets/_Tests/FromValue.cs b/UnityTests.Unity5/Assets/_Tests/FromValue.cs new file mode 100644 index 0000000..a4562bb --- /dev/null +++ b/UnityTests.Unity5/Assets/_Tests/FromValue.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using DG.Tweening; +using UnityEngine; + +public class FromValue : BrainBase +{ + public GameObject cube; + + IEnumerator Start() + { + Tween t = cube.transform.DOMoveX(2, 2); + yield return t.WaitForCompletion(); + + t = cube.transform.DOMoveX(3, 2).From(10); + cube.GetComponent().material.DOFade(1, 2).From(0.5f); + yield return t.WaitForCompletion(); + } +} \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs.meta b/UnityTests.Unity5/Assets/_Tests/FromValue.cs.meta similarity index 53% rename from UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs.meta rename to UnityTests.Unity5/Assets/_Tests/FromValue.cs.meta index 58744b5..a2c9348 100644 --- a/UnityTests.Unity5/Assets/_DOTween Examples/CustomPlugin Example/old (scrapped)/PlugCustomPlugin.cs.meta +++ b/UnityTests.Unity5/Assets/_Tests/FromValue.cs.meta @@ -1,8 +1,12 @@ fileFormatVersion: 2 -guid: af2497efc5625554ba3ad4d45cdad868 +guid: 7f8e935c8c281c14fa14d16a06261fd3 +timeCreated: 1551447234 +licenseType: Pro MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 icon: {instanceID: 0} userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityTests.Unity5/Assets/_Tests/FromValue.unity b/UnityTests.Unity5/Assets/_Tests/FromValue.unity new file mode 100644 index 0000000000000000000000000000000000000000..946f45f59668cee186840a6ec0075af38ca951cd GIT binary patch literal 12032 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 Hn?w8uqvXaD literal 0 HcmV?d00001 diff --git a/UnityTests.Unity5/Assets/_Tests/FromValue.unity.meta b/UnityTests.Unity5/Assets/_Tests/FromValue.unity.meta new file mode 100644 index 0000000..9e6260b --- /dev/null +++ b/UnityTests.Unity5/Assets/_Tests/FromValue.unity.meta @@ -0,0 +1,4 @@ +fileFormatVersion: 2 +guid: a0295fa208ad901478c17ea6714f74d6 +DefaultImporter: + userData: diff --git a/_DOTween.Assembly/DOTween/Core/TweenerCore.cs b/_DOTween.Assembly/DOTween/Core/TweenerCore.cs index d2b8dad..f40576e 100644 --- a/_DOTween.Assembly/DOTween/Core/TweenerCore.cs +++ b/_DOTween.Assembly/DOTween/Core/TweenerCore.cs @@ -124,6 +124,17 @@ namespace DG.Tweening.Core hasManuallySetStartValue = true; return this; } + // Sets From tweens in an alternate way where you can set the start value directly + // (instead of setting it from the endValue). + // Plugins that don't support From: + // - Vector3ArrayPlugin + // - Pro > PathPlugin, SpiralPlugin + internal Tweener SetFrom(T2 fromValue, bool setImmediately) + { + tweenPlugin.SetFrom(this, fromValue, setImmediately); + hasManuallySetStartValue = true; + return this; + } // _tweenPlugin is not reset since it's useful to keep it as a reference internal sealed override void Reset() diff --git a/_DOTween.Assembly/DOTween/CustomPlugins/PureQuaternionPlugin.cs b/_DOTween.Assembly/DOTween/CustomPlugins/PureQuaternionPlugin.cs index 12f7974..815774f 100644 --- a/_DOTween.Assembly/DOTween/CustomPlugins/PureQuaternionPlugin.cs +++ b/_DOTween.Assembly/DOTween/CustomPlugins/PureQuaternionPlugin.cs @@ -44,6 +44,12 @@ namespace DG.Tweening.CustomPlugins t.startValue = isRelative ? t.endValue * prevEndVal : prevEndVal; t.setter(t.startValue); } + /// INTERNAL: do not use + public override void SetFrom(TweenerCore t, Quaternion fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } /// INTERNAL: do not use public override Quaternion ConvertToStartValue(TweenerCore t, Quaternion value) diff --git a/_DOTween.Assembly/DOTween/DOTween.cs b/_DOTween.Assembly/DOTween/DOTween.cs index 68d631c..0c34377 100644 --- a/_DOTween.Assembly/DOTween/DOTween.cs +++ b/_DOTween.Assembly/DOTween/DOTween.cs @@ -32,7 +32,7 @@ namespace DG.Tweening public class DOTween { /// DOTween's version - public static readonly string Version = "1.2.211"; // Last version before modules: 1.1.755 + public static readonly string Version = "1.2.220"; // Last version before modules: 1.1.755 /////////////////////////////////////////////// // Options //////////////////////////////////// @@ -312,7 +312,7 @@ namespace DG.Tweening /// A setter for the field or property to tween /// Example usage with lambda:x=> myProperty = x /// The end value to reachThe tween's duration - public static Tweener To(DOGetter getter, DOSetter setter, int endValue,float duration) + public static TweenerCore To(DOGetter getter, DOSetter setter, int endValue,float duration) { return ApplyTo(getter, setter, endValue, duration); } /// Tweens a property or field to the given value using default plugins /// A getter for the field or property to tween. @@ -320,7 +320,7 @@ namespace DG.Tweening /// A setter for the field or property to tween /// Example usage with lambda:x=> myProperty = x /// The end value to reachThe tween's duration - public static Tweener To(DOGetter getter, DOSetter setter, uint endValue, float duration) + public static TweenerCore To(DOGetter getter, DOSetter setter, uint endValue, float duration) { return ApplyTo(getter, setter, endValue, duration); } /// Tweens a property or field to the given value using default plugins /// A getter for the field or property to tween. @@ -328,7 +328,7 @@ namespace DG.Tweening /// A setter for the field or property to tween /// Example usage with lambda:x=> myProperty = x /// The end value to reachThe tween's duration - public static Tweener To(DOGetter getter, DOSetter setter, long endValue, float duration) + public static TweenerCore To(DOGetter getter, DOSetter setter, long endValue, float duration) { return ApplyTo(getter, setter, endValue, duration); } /// Tweens a property or field to the given value using default plugins /// A getter for the field or property to tween. @@ -336,7 +336,7 @@ namespace DG.Tweening /// A setter for the field or property to tween /// Example usage with lambda:x=> myProperty = x /// The end value to reachThe tween's duration - public static Tweener To(DOGetter getter, DOSetter setter, ulong endValue, float duration) + public static TweenerCore To(DOGetter getter, DOSetter setter, ulong endValue, float duration) { return ApplyTo(getter, setter, endValue, duration); } /// Tweens a property or field to the given value using default plugins /// A getter for the field or property to tween. @@ -431,14 +431,19 @@ namespace DG.Tweening t.plugOptions.axisConstraint = axisConstraint; return t; } + /// Tweens only the alpha of a Color to the given value using default plugins /// A getter for the field or property to tween. /// Example usage with lambda:()=> myProperty /// A setter for the field or property to tween /// Example usage with lambda:x=> myProperty = x /// The end value to reachThe tween's duration - public static Tweener ToAlpha(DOGetter getter, DOSetter setter, float endValue, float duration) - { return ApplyTo(getter, setter, new Color(0, 0, 0, endValue), duration).SetOptions(true); } + public static TweenerCore ToAlpha(DOGetter getter, DOSetter setter, float endValue, float duration) + { + TweenerCore t = ApplyTo(getter, setter, new Color(0, 0, 0, endValue), duration); + t.SetOptions(true); + return t; + } #endregion diff --git a/_DOTween.Assembly/DOTween/Plugins/Color2Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Color2Plugin.cs index 7920866..7853ca1 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Color2Plugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Color2Plugin.cs @@ -29,6 +29,19 @@ namespace DG.Tweening.Plugins } t.setter(to); } + public override void SetFrom(TweenerCore t, Color2 fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) { + Color2 to = fromValue; + if (t.plugOptions.alphaOnly) { + to = t.getter(); + to.ca.a = fromValue.ca.a; + to.cb.a = fromValue.cb.a; + } + t.setter(to); + } + } public override Color2 ConvertToStartValue(TweenerCore t, Color2 value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs index ef897ef..a94fb96 100644 --- a/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/ColorPlugin.cs @@ -29,6 +29,18 @@ namespace DG.Tweening.Plugins else to.a = t.startValue.a; t.setter(to); } + public override void SetFrom(TweenerCore t, Color fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) { + Color to = fromValue; + if (t.plugOptions.alphaOnly) { + to = t.getter(); + to.a = fromValue.a; + } + t.setter(to); + } + } public override Color ConvertToStartValue(TweenerCore t, Color value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/Core/ABSTweenPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Core/ABSTweenPlugin.cs index 4b71379..15bf22f 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Core/ABSTweenPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Core/ABSTweenPlugin.cs @@ -16,6 +16,7 @@ namespace DG.Tweening.Plugins.Core { public abstract void Reset(TweenerCore t); // Resets specific TweenerCore stuff, not the plugin itself public abstract void SetFrom(TweenerCore t, bool isRelative); + public abstract void SetFrom(TweenerCore t, T2 fromValue, bool setImmediately); public abstract T2 ConvertToStartValue(TweenerCore t, T1 value); public abstract void SetRelativeEndValue(TweenerCore t); public abstract void SetChangeValue(TweenerCore t); diff --git a/_DOTween.Assembly/DOTween/Plugins/DoublePlugin.cs b/_DOTween.Assembly/DOTween/Plugins/DoublePlugin.cs index 508042d..273902a 100644 --- a/_DOTween.Assembly/DOTween/Plugins/DoublePlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/DoublePlugin.cs @@ -24,6 +24,11 @@ namespace DG.Tweening.Plugins t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, double fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override double ConvertToStartValue(TweenerCore t, double value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/FloatPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/FloatPlugin.cs index 86c55e7..ab430e2 100644 --- a/_DOTween.Assembly/DOTween/Plugins/FloatPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/FloatPlugin.cs @@ -26,6 +26,11 @@ namespace DG.Tweening.Plugins t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; t.setter(!t.plugOptions.snapping ? t.startValue : (float)Math.Round(t.startValue)); } + public override void SetFrom(TweenerCore t, float fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(!t.plugOptions.snapping ? fromValue : (float)Math.Round(fromValue)); + } public override float ConvertToStartValue(TweenerCore t, float value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/IntPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/IntPlugin.cs index 644ad21..5e39319 100644 --- a/_DOTween.Assembly/DOTween/Plugins/IntPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/IntPlugin.cs @@ -25,6 +25,11 @@ namespace DG.Tweening.Plugins t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, int fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override int ConvertToStartValue(TweenerCore t, int value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/LongPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/LongPlugin.cs index 49f1f5e..14c9326 100644 --- a/_DOTween.Assembly/DOTween/Plugins/LongPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/LongPlugin.cs @@ -22,6 +22,11 @@ namespace DG.Tweening.Plugins t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, long fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override long ConvertToStartValue(TweenerCore t, long value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs index 6b53a96..1b86594 100644 --- a/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/PathPlugin.cs @@ -29,6 +29,7 @@ namespace DG.Tweening.Plugins } public override void SetFrom(TweenerCore t, bool isRelative) {} + public override void SetFrom(TweenerCore t, Path fromValue, bool setImmediately) {} public static ABSTweenPlugin Get() { diff --git a/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs index 0837b22..6e8afb7 100644 --- a/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/QuaternionPlugin.cs @@ -38,6 +38,11 @@ namespace DG.Tweening.Plugins } t.setter(Quaternion.Euler(t.startValue)); } + public override void SetFrom(TweenerCore t, Vector3 fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(Quaternion.Euler(fromValue)); + } public override Vector3 ConvertToStartValue(TweenerCore t, Quaternion value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/RectOffsetPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/RectOffsetPlugin.cs index 8587dd4..08da1a7 100644 --- a/_DOTween.Assembly/DOTween/Plugins/RectOffsetPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/RectOffsetPlugin.cs @@ -39,6 +39,11 @@ namespace DG.Tweening.Plugins } t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, RectOffset fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override RectOffset ConvertToStartValue(TweenerCore t, RectOffset value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/RectPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/RectPlugin.cs index 6998db1..60d2006 100644 --- a/_DOTween.Assembly/DOTween/Plugins/RectPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/RectPlugin.cs @@ -39,6 +39,20 @@ namespace DG.Tweening.Plugins } t.setter(to); } + public override void SetFrom(TweenerCore t, Rect fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) { + Rect to = fromValue; + if (t.plugOptions.snapping) { + to.x = (float)Math.Round(to.x); + to.y = (float)Math.Round(to.y); + to.width = (float)Math.Round(to.width); + to.height = (float)Math.Round(to.height); + } + t.setter(to); + } + } public override Rect ConvertToStartValue(TweenerCore t, Rect value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/StringPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/StringPlugin.cs index d27c301..b7dba4d 100644 --- a/_DOTween.Assembly/DOTween/Plugins/StringPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/StringPlugin.cs @@ -32,6 +32,11 @@ namespace DG.Tweening.Plugins t.startValue = prevEndVal; t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, string fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override void Reset(TweenerCore t) { diff --git a/_DOTween.Assembly/DOTween/Plugins/UintPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/UintPlugin.cs index 2f314bb..5273efb 100644 --- a/_DOTween.Assembly/DOTween/Plugins/UintPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/UintPlugin.cs @@ -26,6 +26,11 @@ namespace DG.Tweening.Plugins t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, uint fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override uint ConvertToStartValue(TweenerCore t, uint value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/UlongPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/UlongPlugin.cs index e8d9a39..42432d9 100644 --- a/_DOTween.Assembly/DOTween/Plugins/UlongPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/UlongPlugin.cs @@ -23,6 +23,11 @@ namespace DG.Tweening.Plugins t.startValue = isRelative ? t.endValue + prevEndVal : prevEndVal; t.setter(t.startValue); } + public override void SetFrom(TweenerCore t, ulong fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) t.setter(fromValue); + } public override ulong ConvertToStartValue(TweenerCore t, ulong value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs index 5117220..e3f7963 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Vector2Plugin.cs @@ -43,6 +43,31 @@ namespace DG.Tweening.Plugins } t.setter(to); } + public override void SetFrom(TweenerCore t, Vector2 fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) { + Vector2 to; + switch (t.plugOptions.axisConstraint) { + case AxisConstraint.X: + to = t.getter(); + to.x = fromValue.x; + break; + case AxisConstraint.Y: + to = t.getter(); + to.y = fromValue.y; + break; + default: + to = fromValue; + break; + } + if (t.plugOptions.snapping) { + to.x = (float)Math.Round(to.x); + to.y = (float)Math.Round(to.y); + } + t.setter(to); + } + } public override Vector2 ConvertToStartValue(TweenerCore t, Vector2 value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector3ArrayPlugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector3ArrayPlugin.cs index 07fd672..82c62e9 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Vector3ArrayPlugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Vector3ArrayPlugin.cs @@ -26,6 +26,7 @@ namespace DG.Tweening.Plugins } public override void SetFrom(TweenerCore t, bool isRelative) {} + public override void SetFrom(TweenerCore t, Vector3[] fromValue, bool setImmediately) {} public override Vector3[] ConvertToStartValue(TweenerCore t, Vector3 value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs index 96565b9..f95c237 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Vector3Plugin.cs @@ -47,6 +47,36 @@ namespace DG.Tweening.Plugins } t.setter(to); } + public override void SetFrom(TweenerCore t, Vector3 fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) { + Vector3 to; + switch (t.plugOptions.axisConstraint) { + case AxisConstraint.X: + to = t.getter(); + to.x = fromValue.x; + break; + case AxisConstraint.Y: + to = t.getter(); + to.y = fromValue.y; + break; + case AxisConstraint.Z: + to = t.getter(); + to.z = fromValue.z; + break; + default: + to = fromValue; + break; + } + if (t.plugOptions.snapping) { + to.x = (float)Math.Round(to.x); + to.y = (float)Math.Round(to.y); + to.z = (float)Math.Round(to.z); + } + t.setter(to); + } + } public override Vector3 ConvertToStartValue(TweenerCore t, Vector3 value) { diff --git a/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs b/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs index 58450d5..5f4156a 100644 --- a/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs +++ b/_DOTween.Assembly/DOTween/Plugins/Vector4Plugin.cs @@ -52,6 +52,42 @@ namespace DG.Tweening.Plugins t.setter(to); } + public override void SetFrom(TweenerCore t, Vector4 fromValue, bool setImmediately) + { + t.startValue = fromValue; + if (setImmediately) { + Vector4 to; + switch (t.plugOptions.axisConstraint) { + case AxisConstraint.X: + to = t.getter(); + to.x = fromValue.x; + break; + case AxisConstraint.Y: + to = t.getter(); + to.y = fromValue.y; + break; + case AxisConstraint.Z: + to = t.getter(); + to.z = fromValue.z; + break; + case AxisConstraint.W: + to = t.getter(); + to.w = fromValue.w; + break; + default: + to = fromValue; + break; + } + if (t.plugOptions.snapping) { + to.x = (float)Math.Round(to.x); + to.y = (float)Math.Round(to.y); + to.z = (float)Math.Round(to.z); + to.w = (float)Math.Round(to.w); + } + t.setter(to); + } + } + public override Vector4 ConvertToStartValue(TweenerCore t, Vector4 value) { return value; diff --git a/_DOTween.Assembly/DOTween/ShortcutExtensions.cs b/_DOTween.Assembly/DOTween/ShortcutExtensions.cs index d078bb9..6bbc575 100644 --- a/_DOTween.Assembly/DOTween/ShortcutExtensions.cs +++ b/_DOTween.Assembly/DOTween/ShortcutExtensions.cs @@ -36,65 +36,81 @@ namespace DG.Tweening /// Tweens a Camera's aspect to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOAspect(this Camera target, float endValue, float duration) + public static TweenerCore DOAspect(this Camera target, float endValue, float duration) { - return DOTween.To(() => target.aspect, x => target.aspect = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.aspect, x => target.aspect = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's backgroundColor to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Camera target, Color endValue, float duration) + public static TweenerCore DOColor(this Camera target, Color endValue, float duration) { - return DOTween.To(() => target.backgroundColor, x => target.backgroundColor = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.backgroundColor, x => target.backgroundColor = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's farClipPlane to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFarClipPlane(this Camera target, float endValue, float duration) + public static TweenerCore DOFarClipPlane(this Camera target, float endValue, float duration) { - return DOTween.To(() => target.farClipPlane, x => target.farClipPlane = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.farClipPlane, x => target.farClipPlane = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's fieldOfView to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFieldOfView(this Camera target, float endValue, float duration) + public static TweenerCore DOFieldOfView(this Camera target, float endValue, float duration) { - return DOTween.To(() => target.fieldOfView, x => target.fieldOfView = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.fieldOfView, x => target.fieldOfView = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's nearClipPlane to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DONearClipPlane(this Camera target, float endValue, float duration) + public static TweenerCore DONearClipPlane(this Camera target, float endValue, float duration) { - return DOTween.To(() => target.nearClipPlane, x => target.nearClipPlane = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.nearClipPlane, x => target.nearClipPlane = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's orthographicSize to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOOrthoSize(this Camera target, float endValue, float duration) + public static TweenerCore DOOrthoSize(this Camera target, float endValue, float duration) { - return DOTween.To(() => target.orthographicSize, x => target.orthographicSize = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.orthographicSize, x => target.orthographicSize = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's pixelRect to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPixelRect(this Camera target, Rect endValue, float duration) + public static TweenerCore DOPixelRect(this Camera target, Rect endValue, float duration) { - return DOTween.To(() => target.pixelRect, x => target.pixelRect = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pixelRect, x => target.pixelRect = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Camera's rect to the given value. /// Also stores the camera as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DORect(this Camera target, Rect endValue, float duration) + public static TweenerCore DORect(this Camera target, Rect endValue, float duration) { - return DOTween.To(() => target.rect, x => target.rect = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.rect, x => target.rect = x, endValue, duration); + t.SetTarget(target); + return t; } /// Shakes a Camera's localPosition along its relative X Y axes with the given values. @@ -174,25 +190,31 @@ namespace DG.Tweening /// Tweens a Light's color to the given value. /// Also stores the light as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Light target, Color endValue, float duration) + public static TweenerCore DOColor(this Light target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Light's intensity to the given value. /// Also stores the light as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOIntensity(this Light target, float endValue, float duration) + public static TweenerCore DOIntensity(this Light target, float endValue, float duration) { - return DOTween.To(() => target.intensity, x => target.intensity = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.intensity, x => target.intensity = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Light's shadowStrength to the given value. /// Also stores the light as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOShadowStrength(this Light target, float endValue, float duration) + public static TweenerCore DOShadowStrength(this Light target, float endValue, float duration) { - return DOTween.To(() => target.shadowStrength, x => target.shadowStrength = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.shadowStrength, x => target.shadowStrength = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -217,45 +239,52 @@ namespace DG.Tweening /// Tweens a Material's color to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Material target, Color endValue, float duration) + public static TweenerCore DOColor(this Material target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named color property to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The name of the material property to tween (like _Tint or _SpecColor) /// The duration of the tween - public static Tweener DOColor(this Material target, Color endValue, string property, float duration) + public static TweenerCore DOColor(this Material target, Color endValue, string property, float duration) { if (!target.HasProperty(property)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(property); return null; } - return DOTween.To(() => target.GetColor(property), x => target.SetColor(property, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetColor(property), x => target.SetColor(property, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named color property with the given ID to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOColor(this Material target, Color endValue, int propertyID, float duration) + public static TweenerCore DOColor(this Material target, Color endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetColor(propertyID), x => target.SetColor(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetColor(propertyID), x => target.SetColor(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's alpha color to the given value /// (will have no effect unless your material supports transparency). /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Material target, float endValue, float duration) + public static TweenerCore DOFade(this Material target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's alpha color to the given value /// (will have no effect unless your material supports transparency). @@ -263,13 +292,15 @@ namespace DG.Tweening /// The end value to reach /// The name of the material property to tween (like _Tint or _SpecColor) /// The duration of the tween - public static Tweener DOFade(this Material target, float endValue, string property, float duration) + public static TweenerCore DOFade(this Material target, float endValue, string property, float duration) { if (!target.HasProperty(property)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(property); return null; } - return DOTween.ToAlpha(() => target.GetColor(property), x => target.SetColor(property, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.GetColor(property), x => target.SetColor(property, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's alpha color with the given ID to the given value /// (will have no effect unless your material supports transparency). @@ -277,13 +308,15 @@ namespace DG.Tweening /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOFade(this Material target, float endValue, int propertyID, float duration) + public static TweenerCore DOFade(this Material target, float endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.ToAlpha(() => target.GetColor(propertyID), x => target.SetColor(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.GetColor(propertyID), x => target.SetColor(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named float property to the given value. @@ -291,70 +324,82 @@ namespace DG.Tweening /// The end value to reach /// The name of the material property to tween /// The duration of the tween - public static Tweener DOFloat(this Material target, float endValue, string property, float duration) + public static TweenerCore DOFloat(this Material target, float endValue, string property, float duration) { if (!target.HasProperty(property)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(property); return null; } - return DOTween.To(() => target.GetFloat(property), x => target.SetFloat(property, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetFloat(property), x => target.SetFloat(property, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named float property with the given ID to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOFloat(this Material target, float endValue, int propertyID, float duration) + public static TweenerCore DOFloat(this Material target, float endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetFloat(propertyID), x => target.SetFloat(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetFloat(propertyID), x => target.SetFloat(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's texture offset to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The duration of the tween - public static Tweener DOOffset(this Material target, Vector2 endValue, float duration) + public static TweenerCore DOOffset(this Material target, Vector2 endValue, float duration) { - return DOTween.To(() => target.mainTextureOffset, x => target.mainTextureOffset = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.mainTextureOffset, x => target.mainTextureOffset = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named texture offset property to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The name of the material property to tween /// The duration of the tween - public static Tweener DOOffset(this Material target, Vector2 endValue, string property, float duration) + public static TweenerCore DOOffset(this Material target, Vector2 endValue, string property, float duration) { if (!target.HasProperty(property)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(property); return null; } - return DOTween.To(() => target.GetTextureOffset(property), x => target.SetTextureOffset(property, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetTextureOffset(property), x => target.SetTextureOffset(property, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's texture scale to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The duration of the tween - public static Tweener DOTiling(this Material target, Vector2 endValue, float duration) + public static TweenerCore DOTiling(this Material target, Vector2 endValue, float duration) { - return DOTween.To(() => target.mainTextureScale, x => target.mainTextureScale = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.mainTextureScale, x => target.mainTextureScale = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named texture scale property to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The name of the material property to tween /// The duration of the tween - public static Tweener DOTiling(this Material target, Vector2 endValue, string property, float duration) + public static TweenerCore DOTiling(this Material target, Vector2 endValue, string property, float duration) { if (!target.HasProperty(property)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(property); return null; } - return DOTween.To(() => target.GetTextureScale(property), x => target.SetTextureScale(property, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetTextureScale(property), x => target.SetTextureScale(property, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named Vector property to the given value. @@ -362,26 +407,30 @@ namespace DG.Tweening /// The end value to reach /// The name of the material property to tween /// The duration of the tween - public static Tweener DOVector(this Material target, Vector4 endValue, string property, float duration) + public static TweenerCore DOVector(this Material target, Vector4 endValue, string property, float duration) { if (!target.HasProperty(property)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(property); return null; } - return DOTween.To(() => target.GetVector(property), x => target.SetVector(property, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetVector(property), x => target.SetVector(property, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named Vector property with the given ID to the given value. /// Also stores the material as the tween's target so it can be used for filtered operations /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOVector(this Material target, Vector4 endValue, int propertyID, float duration) + public static TweenerCore DOVector(this Material target, Vector4 endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetVector(propertyID), x => target.SetVector(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetVector(propertyID), x => target.SetVector(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -409,10 +458,11 @@ namespace DG.Tweening /// Tweens a TrailRenderer's time to the given value. /// Also stores the TrailRenderer as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOTime(this TrailRenderer target, float endValue, float duration) + public static TweenerCore DOTime(this TrailRenderer target, float endValue, float duration) { - return DOTween.To(() => target.time, x => target.time = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.time, x => target.time = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -423,87 +473,95 @@ namespace DG.Tweening /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMove(this Transform target, Vector3 endValue, float duration, bool snapping = false) + public static TweenerCore DOMove(this Transform target, Vector3 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, x => target.position = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, x => target.position = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a Transform's X position to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveX(this Transform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveX(this Transform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, x => target.position = x, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, x => target.position = x, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a Transform's Y position to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveY(this Transform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveY(this Transform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, x => target.position = x, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, x => target.position = x, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a Transform's Z position to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveZ(this Transform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveZ(this Transform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, x => target.position = x, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, x => target.position = x, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; } /// Tweens a Transform's localPosition to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOLocalMove(this Transform target, Vector3 endValue, float duration, bool snapping = false) + public static TweenerCore DOLocalMove(this Transform target, Vector3 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.localPosition, x => target.localPosition = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.localPosition, x => target.localPosition = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a Transform's X localPosition to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOLocalMoveX(this Transform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOLocalMoveX(this Transform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.localPosition, x => target.localPosition = x, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.localPosition, x => target.localPosition = x, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a Transform's Y localPosition to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOLocalMoveY(this Transform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOLocalMoveY(this Transform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.localPosition, x => target.localPosition = x, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.localPosition, x => target.localPosition = x, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a Transform's Z localPosition to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOLocalMoveZ(this Transform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOLocalMoveZ(this Transform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.localPosition, x => target.localPosition = x, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.localPosition, x => target.localPosition = x, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; } /// Tweens a Transform's rotation to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// Rotation mode - public static Tweener DORotate(this Transform target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) + public static TweenerCore DORotate(this Transform target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) { TweenerCore t = DOTween.To(() => target.rotation, x => target.rotation = x, endValue, duration); t.SetTarget(target); @@ -518,7 +576,7 @@ namespace DG.Tweening /// (neither for itself nor if placed inside a LoopType.Incremental Sequence) /// /// The end value to reachThe duration of the tween - public static Tweener DORotateQuaternion(this Transform target, Quaternion endValue, float duration) + public static TweenerCore DORotateQuaternion(this Transform target, Quaternion endValue, float duration) { TweenerCore t = DOTween.To(PureQuaternionPlugin.Plug(), () => target.rotation, x => target.rotation = x, endValue, duration); t.SetTarget(target); @@ -529,7 +587,7 @@ namespace DG.Tweening /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// Rotation mode - public static Tweener DOLocalRotate(this Transform target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) + public static TweenerCore DOLocalRotate(this Transform target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) { TweenerCore t = DOTween.To(() => target.localRotation, x => target.localRotation = x, endValue, duration); t.SetTarget(target); @@ -544,7 +602,7 @@ namespace DG.Tweening /// (neither for itself nor if placed inside a LoopType.Incremental Sequence) /// /// The end value to reachThe duration of the tween - public static Tweener DOLocalRotateQuaternion(this Transform target, Quaternion endValue, float duration) + public static TweenerCore DOLocalRotateQuaternion(this Transform target, Quaternion endValue, float duration) { TweenerCore t = DOTween.To(PureQuaternionPlugin.Plug(), () => target.localRotation, x => target.localRotation = x, endValue, duration); t.SetTarget(target); @@ -554,48 +612,55 @@ namespace DG.Tweening /// Tweens a Transform's localScale to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScale(this Transform target, Vector3 endValue, float duration) + public static TweenerCore DOScale(this Transform target, Vector3 endValue, float duration) { - return DOTween.To(() => target.localScale, x => target.localScale = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.localScale, x => target.localScale = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Transform's localScale uniformly to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScale(this Transform target, float endValue, float duration) + public static TweenerCore DOScale(this Transform target, float endValue, float duration) { Vector3 endValueV3 = new Vector3(endValue, endValue, endValue); - return DOTween.To(() => target.localScale, x => target.localScale = x, endValueV3, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.localScale, x => target.localScale = x, endValueV3, duration); + t.SetTarget(target); + return t; } /// Tweens a Transform's X localScale to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScaleX(this Transform target, float endValue, float duration) + public static TweenerCore DOScaleX(this Transform target, float endValue, float duration) { - return DOTween.To(() => target.localScale, x => target.localScale = x, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X) + TweenerCore t = DOTween.To(() => target.localScale, x => target.localScale = x, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X) .SetTarget(target); + return t; } /// Tweens a Transform's Y localScale to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScaleY(this Transform target, float endValue, float duration) + public static TweenerCore DOScaleY(this Transform target, float endValue, float duration) { - return DOTween.To(() => target.localScale, x => target.localScale = x, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y) + TweenerCore t = DOTween.To(() => target.localScale, x => target.localScale = x, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y) .SetTarget(target); + return t; } /// Tweens a Transform's Z localScale to the given value. /// Also stores the transform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScaleZ(this Transform target, float endValue, float duration) + public static TweenerCore DOScaleZ(this Transform target, float endValue, float duration) { - return DOTween.To(() => target.localScale, x => target.localScale = x, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z) + TweenerCore t = DOTween.To(() => target.localScale, x => target.localScale = x, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z) .SetTarget(target); + return t; } /// Tweens a Transform's rotation so that it will look towards the given position. @@ -950,9 +1015,11 @@ namespace DG.Tweening /// Tweens a Tween's timeScale to the given value. /// Also stores the Tween as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOTimeScale(this Tween target, float endValue, float duration) + public static TweenerCore DOTimeScale(this Tween target, float endValue, float duration) { - return DOTween.To(() => target.timeScale, x => target.timeScale = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.timeScale, x => target.timeScale = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion diff --git a/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs b/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs index 637d462..f6975cb 100644 --- a/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs +++ b/_DOTween.Assembly/DOTween/TweenSettingsExtensions.cs @@ -570,6 +570,8 @@ namespace DG.Tweening #region Tweeners-only + #region FROM + /// Changes a TO tween into a FROM tween: sets the current target's position as the tween's endValue /// then immediately sends the target to the previously set endValue. public static T From(this T t) where T : Tweener @@ -593,6 +595,52 @@ namespace DG.Tweening return t; } + /// Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + /// and eventually sets the tween's target to that value immediately. + /// Value to start from + /// If TRUE sets the target to from value immediately, otherwise waits for the tween to start + public static TweenerCore From(this TweenerCore t, T2 fromValue, bool setImmediately = true) + where TPlugOptions : struct, IPlugOptions + { + if (t == null || !t.active || t.creationLocked || !t.isFromAllowed) return t; + + t.isFrom = true; + t.SetFrom(fromValue, setImmediately); + return t; + } + + #region FROM Extra Overloads + + /// Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + /// and eventually sets the tween's target to that value immediately. + /// Alpha value to start from (in case of Fade tweens) + /// If TRUE sets the target to from value immediately, otherwise waits for the tween to start + public static TweenerCore From(this TweenerCore t, float fromAlphaValue, bool setImmediately = true) + { + if (t == null || !t.active || t.creationLocked || !t.isFromAllowed) return t; + + t.isFrom = true; + t.SetFrom(new Color(0,0,0,fromAlphaValue), setImmediately); + return t; + } + + /// Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + /// and eventually sets the tween's target to that value immediately. + /// Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) + /// If TRUE sets the target to from value immediately, otherwise waits for the tween to start + public static TweenerCore From(this TweenerCore t, float fromValue, bool setImmediately = true) + { + if (t == null || !t.active || t.creationLocked || !t.isFromAllowed) return t; + + t.isFrom = true; + t.SetFrom(new Vector3(fromValue, fromValue, fromValue), setImmediately); + return t; + } + + #endregion + + #endregion + /// Sets a delayed startup for the tween. /// Has no effect on Sequences or if the tween has already started public static T SetDelay(this T t, float delay) where T : Tween diff --git a/_DOTween.Assembly/bin/DOTween.XML b/_DOTween.Assembly/bin/DOTween.XML index 7046bfe..1345284 100644 --- a/_DOTween.Assembly/bin/DOTween.XML +++ b/_DOTween.Assembly/bin/DOTween.XML @@ -273,6 +273,9 @@ INTERNAL: do not use + + INTERNAL: do not use + INTERNAL: do not use @@ -2383,6 +2386,24 @@ then immediately sends the target to the previously set endValue. If TRUE the FROM value will be calculated as relative to the current one + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Alpha value to start from (in case of Fade tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + + + Changes a TO tween into a FROM tween: sets the tween's starting value to the given one + and eventually sets the tween's target to that value immediately. + Value to start from (in case of Vector tweens that act on a single coordinate or scale tweens) + If TRUE sets the target to from value immediately, otherwise waits for the tween to start + Sets a delayed startup for the tween. Has no effect on Sequences or if the tween has already started diff --git a/_DOTween.Assembly/bin/DOTween.dll b/_DOTween.Assembly/bin/DOTween.dll index d6d8103c7cfd7f0595d84a3d5d7459bffcf868d9..3a0f645072d6988f1645dc5fa8328cc1f5867b96 100644 GIT binary patch literal 155136 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 literal 152064 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 diff --git a/_DOTween.Assembly/bin/DOTween.dll.mdb b/_DOTween.Assembly/bin/DOTween.dll.mdb index c80812c0b694d68d8a3a02dda21e8f22f6a6844e..f0bbf1f9229454e13d85899da058d773dcbf5d8f 100644 GIT binary patch literal 59388 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 Dh`g+k literal 58193 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 diff --git a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll index 19a8b0519985a811a8a92babac3dcabd00c96ce1..887b1cfa2068c6c0c66254522aca428df8a5fc8b 100644 GIT binary patch delta 68 zcmZp8!PM}AX+j6Hwom28?uiQp9QSIo*PlP&*Uy@M+<|?;lg&Dd9JoNTlk?X|3LIH- YaR>X;!wwVdzZToiPyMlZ#+nRv0Q&tN!~g&Q delta 68 zcmZp8!PM}AX+j6{yYJ;2yC*IbNV#;(*s#>obzZ-}$(~jDx|?+tIdFkwC+Dw`6qx-m Y`a#u;X0I*ZzR8>ssm|RzV@(D-0DzkzumAu6 diff --git a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb index 3181ee138c51bac7b7c3e8a4397917a52b2ffb95..90e94a52509acb7a8ea53b1cdad33fd5584f0816 100644 GIT binary patch delta 270 zcmV+p0rCE_K(as}6sCXuBPQrYG5`Po00000LA@&nf6u^9j|FGPKnI}Yks!4XL@U54 zTpmiY@T4hNhA0=2Bun+b5zbKx&gl1%(ibhO8WMF|16ZtprNZOD!9d+XaCTWrw6B U_okdhwO&O%e|+zCvup;&8TC|giU0rr delta 270 zcmV+p0rCE_K(as}6sCXuBPQrYG5`Po00000WYWenF?C5ro{vv7ysB?4ks!4XTW?ac z0MJc_v&!o<@~>!-WV>_eQ_|5&@-Y8#UU19%WChg=;P zkF!mK*qRzV)iwc>jRSiS8*ZqIW_#F4p^}nJGxKzVlNbbs5H+klEg+H0NRjesst9Zc zQj@L(h!7ISUkzR48b^(pe(YfD$54|-1%(g<%tbA_DRU7vup;&8NQ8n%K!iX diff --git a/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll b/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll index dd09104b57755c9101a4f2a35df3761b05b5a2ef..56f348e6c8d327674219a351e69441ee8a3cc1bf 100644 GIT binary patch delta 86 zcmZn&X$YCn!K~#|xv~4Bn81?v|r$FNhy{dVPuX<_7r&E&$9m8*Tsq delta 86 zcmZn&X$YCn!TjcX`Nr;#VgltMY_}%f4tCmcCFoy{xn2L}9`O_GIzZVN1|VPpVi`sT mh8$ZUmS9#BONWE< k?>Ey7`zOAr7dXzA{(gTIkI#zI^G}_lmYv^R&d9_B01#Cnq5uE@ delta 82 zcmey#_LEIPWLf=RWwjTsMhp;89>R8O;_YCk9an<><(S*`PgK|;;Cbe)*2B|@?)^u_ k&M(gi;+puPUf}QL%g0$|KYH%_VNufS>!7x|oRNtM0DPPyH2?qr diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs index c342c02..c195b6c 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleAudio.cs @@ -3,6 +3,8 @@ #if true // MODULE_MARKER using System; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; using UnityEngine; #if UNITY_5 || UNITY_2017_1_OR_NEWER using UnityEngine.Audio; // Required for AudioMixer @@ -20,19 +22,23 @@ namespace DG.Tweening /// Tweens an AudioSource's volume to the given value. /// Also stores the AudioSource as the tween's target so it can be used for filtered operations /// The end value to reach (0 to 1)The duration of the tween - public static Tweener DOFade(this AudioSource target, float endValue, float duration) + public static TweenerCore DOFade(this AudioSource target, float endValue, float duration) { if (endValue < 0) endValue = 0; else if (endValue > 1) endValue = 1; - return DOTween.To(() => target.volume, x => target.volume = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.volume, x => target.volume = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an AudioSource's pitch to the given value. /// Also stores the AudioSource as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPitch(this AudioSource target, float endValue, float duration) + public static TweenerCore DOPitch(this AudioSource target, float endValue, float duration) { - return DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pitch, x => target.pitch = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -45,14 +51,15 @@ namespace DG.Tweening /// Note that you need to manually expose a float in an AudioMixerGroup in order to be able to tween it from an AudioMixer. /// Name given to the exposed float to set /// The end value to reachThe duration of the tween - public static Tweener DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration) + public static TweenerCore DOSetFloat(this AudioMixer target, string floatName, float endValue, float duration) { - return DOTween.To(()=> { + TweenerCore t = DOTween.To(()=> { float currVal; target.GetFloat(floatName, out currVal); return currVal; - }, x=> target.SetFloat(floatName, x), endValue, duration) - .SetTarget(target); + }, x=> target.SetFloat(floatName, x), endValue, duration); + t.SetTarget(target); + return t; } #region Operation Shortcuts diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics.cs b/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics.cs index 2a85cc6..a1a1cb9 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics.cs @@ -23,47 +23,51 @@ namespace DG.Tweening /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false) + public static TweenerCore DOMove(this Rigidbody target, Vector3 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's X position to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveX(this Rigidbody target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's Y position to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveY(this Rigidbody target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's Z position to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveZ(this Rigidbody target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody's rotation to the given value. /// Also stores the rigidbody as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// Rotation mode - public static Tweener DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) + public static TweenerCore DORotate(this Rigidbody target, Vector3 endValue, float duration, RotateMode mode = RotateMode.Fast) { TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); t.SetTarget(target); @@ -76,7 +80,7 @@ namespace DG.Tweening /// The position to look atThe duration of the tween /// Eventual axis constraint for the rotation /// The vector that defines in which direction up is (default: Vector3.up) - public static Tweener DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null) + public static TweenerCore DOLookAt(this Rigidbody target, Vector3 towards, float duration, AxisConstraint axisConstraint = AxisConstraint.None, Vector3? up = null) { TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, towards, duration) .SetTarget(target).SetSpecialStartupMode(SpecialStartupMode.SetLookAt); diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs b/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs index f4e2aa2..f40a7d0 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModulePhysics2D.cs @@ -3,6 +3,8 @@ #if true && (UNITY_4_3 || UNITY_4_4 || UNITY_4_5 || UNITY_4_6 || UNITY_5 || UNITY_2017_1_OR_NEWER) // MODULE_MARKER using System; +using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; using UnityEngine; #pragma warning disable 1591 @@ -18,39 +20,43 @@ namespace DG.Tweening /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOMove(this Rigidbody2D target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody2D's X position to the given value. /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveX(this Rigidbody2D target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody2D's Y position to the given value. /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOMoveY(this Rigidbody2D target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.position, target.MovePosition, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a Rigidbody2D's rotation to the given value. /// Also stores the Rigidbody2D as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DORotate(this Rigidbody2D target, float endValue, float duration) + public static TweenerCore DORotate(this Rigidbody2D target, float endValue, float duration) { - return DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.rotation, target.MoveRotation, endValue, duration); + t.SetTarget(target); + return t; } #region Special diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs index 12e07aa..9450ca5 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleSprite.cs @@ -5,6 +5,7 @@ using System; using UnityEngine; using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; #pragma warning disable 1591 namespace DG.Tweening @@ -18,18 +19,21 @@ namespace DG.Tweening /// Tweens a SpriteRenderer's color to the given value. /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this SpriteRenderer target, Color endValue, float duration) + public static TweenerCore DOColor(this SpriteRenderer target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's alpha color to the given value. /// Also stores the spriteRenderer as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this SpriteRenderer target, float endValue, float duration) + public static TweenerCore DOFade(this SpriteRenderer target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a SpriteRenderer's color using the given gradient diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs index df2b42c..072c02c 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleUI.cs @@ -7,6 +7,7 @@ using UnityEngine; using UnityEngine.UI; using DG.Tweening.Core; using DG.Tweening.Core.Enums; +using DG.Tweening.Plugins.Options; #pragma warning disable 1591 namespace DG.Tweening @@ -20,10 +21,11 @@ namespace DG.Tweening /// Tweens a CanvasGroup's alpha color to the given value. /// Also stores the canvasGroup as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this CanvasGroup target, float endValue, float duration) + public static TweenerCore DOFade(this CanvasGroup target, float endValue, float duration) { - return DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.alpha, x => target.alpha = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -33,18 +35,21 @@ namespace DG.Tweening /// Tweens an Graphic's color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Graphic target, Color endValue, float duration) + public static TweenerCore DOColor(this Graphic target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Graphic's alpha color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Graphic target, float endValue, float duration) + public static TweenerCore DOFade(this Graphic target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -54,29 +59,33 @@ namespace DG.Tweening /// Tweens an Image's color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Image target, Color endValue, float duration) + public static TweenerCore DOColor(this Image target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Image's alpha color to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Image target, float endValue, float duration) + public static TweenerCore DOFade(this Image target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Image's fillAmount to the given value. /// Also stores the image as the tween's target so it can be used for filtered operations /// The end value to reach (0 to 1)The duration of the tween - public static Tweener DOFillAmount(this Image target, float endValue, float duration) + public static TweenerCore DOFillAmount(this Image target, float endValue, float duration) { if (endValue > 1) endValue = 1; else if (endValue < 0) endValue = 0; - return DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.fillAmount, x => target.fillAmount = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens an Image's colors using the given gradient @@ -110,39 +119,42 @@ namespace DG.Tweening /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOFlexibleSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => { + TweenerCore t = DOTween.To(() => new Vector2(target.flexibleWidth, target.flexibleHeight), x => { target.flexibleWidth = x.x; target.flexibleHeight = x.y; - }, endValue, duration) - .SetOptions(snapping).SetTarget(target); + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens an LayoutElement's minWidth/Height to the given value. /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOMinSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => { + TweenerCore t = DOTween.To(() => new Vector2(target.minWidth, target.minHeight), x => { target.minWidth = x.x; target.minHeight = x.y; - }, endValue, duration) - .SetOptions(snapping).SetTarget(target); + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens an LayoutElement's preferredWidth/Height to the given value. /// Also stores the LayoutElement as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOPreferredSize(this LayoutElement target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => { + TweenerCore t = DOTween.To(() => new Vector2(target.preferredWidth, target.preferredHeight), x => { target.preferredWidth = x.x; target.preferredHeight = x.y; - }, endValue, duration) - .SetOptions(snapping).SetTarget(target); + }, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } #endregion @@ -152,27 +164,31 @@ namespace DG.Tweening /// Tweens a Outline's effectColor to the given value. /// Also stores the Outline as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Outline target, Color endValue, float duration) + public static TweenerCore DOColor(this Outline target, Color endValue, float duration) { - return DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.effectColor, x => target.effectColor = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Outline's effectColor alpha to the given value. /// Also stores the Outline as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Outline target, float endValue, float duration) + public static TweenerCore DOFade(this Outline target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.effectColor, x => target.effectColor = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Outline's effectDistance to the given value. /// Also stores the Outline as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOScale(this Outline target, Vector2 endValue, float duration) + public static TweenerCore DOScale(this Outline target, Vector2 endValue, float duration) { - return DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.effectDistance, x => target.effectDistance = x, endValue, duration); + t.SetTarget(target); + return t; } #endregion @@ -183,120 +199,133 @@ namespace DG.Tweening /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition X to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPosX(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition Y to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPosY(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition, x => target.anchoredPosition = x, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3D(this RectTransform target, Vector3 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D X to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3DX(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration) - .SetOptions(AxisConstraint.X, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(endValue, 0, 0), duration); + t.SetOptions(AxisConstraint.X, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D Y to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3DY(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration) - .SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, endValue, 0), duration); + t.SetOptions(AxisConstraint.Y, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchoredPosition3D Z to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorPos3DZ(this RectTransform target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration) - .SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchoredPosition3D, x => target.anchoredPosition3D = x, new Vector3(0, 0, endValue), duration); + t.SetOptions(AxisConstraint.Z, snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchorMax to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorMax(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchorMax, x => target.anchorMax = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's anchorMin to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOAnchorMin(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.anchorMin, x => target.anchorMin = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Tweens a RectTransform's pivot to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPivot(this RectTransform target, Vector2 endValue, float duration) + public static TweenerCore DOPivot(this RectTransform target, Vector2 endValue, float duration) { - return DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a RectTransform's pivot X to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPivotX(this RectTransform target, float endValue, float duration) + public static TweenerCore DOPivotX(this RectTransform target, float endValue, float duration) { - return DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration) - .SetOptions(AxisConstraint.X).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(endValue, 0), duration); + t.SetOptions(AxisConstraint.X).SetTarget(target); + return t; } /// Tweens a RectTransform's pivot Y to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOPivotY(this RectTransform target, float endValue, float duration) + public static TweenerCore DOPivotY(this RectTransform target, float endValue, float duration) { - return DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration) - .SetOptions(AxisConstraint.Y).SetTarget(target); + TweenerCore t = DOTween.To(() => target.pivot, x => target.pivot = x, new Vector2(0, endValue), duration); + t.SetOptions(AxisConstraint.Y).SetTarget(target); + return t; } /// Tweens a RectTransform's sizeDelta to the given value. /// Also stores the RectTransform as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) + public static TweenerCore DOSizeDelta(this RectTransform target, Vector2 endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.sizeDelta, x => target.sizeDelta = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } /// Punches a RectTransform's anchoredPosition towards the given direction and then back to the starting one @@ -430,10 +459,11 @@ namespace DG.Tweening /// Also stores the Slider as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween /// If TRUE the tween will smoothly snap all values to integers - public static Tweener DOValue(this Slider target, float endValue, float duration, bool snapping = false) + public static TweenerCore DOValue(this Slider target, float endValue, float duration, bool snapping = false) { - return DOTween.To(() => target.value, x => target.value = x, endValue, duration) - .SetOptions(snapping).SetTarget(target); + TweenerCore t = DOTween.To(() => target.value, x => target.value = x, endValue, duration); + t.SetOptions(snapping).SetTarget(target); + return t; } #endregion @@ -443,18 +473,21 @@ namespace DG.Tweening /// Tweens a Text's color to the given value. /// Also stores the Text as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOColor(this Text target, Color endValue, float duration) + public static TweenerCore DOColor(this Text target, Color endValue, float duration) { - return DOTween.To(() => target.color, x => target.color = x, endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Text's alpha color to the given value. /// Also stores the Text as the tween's target so it can be used for filtered operations /// The end value to reachThe duration of the tween - public static Tweener DOFade(this Text target, float endValue, float duration) + public static TweenerCore DOFade(this Text target, float endValue, float duration) { - return DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration) - .SetTarget(target); + TweenerCore t = DOTween.ToAlpha(() => target.color, x => target.color = x, endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Text's text to the given value. @@ -466,11 +499,12 @@ namespace DG.Tweening /// A string containing the characters to use for scrambling. /// Use as many characters as possible (minimum 10) because DOTween uses a fast scramble mode which gives better results with more characters. /// Leave it to NULL (default) to use default ones - public static Tweener DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null) + public static TweenerCore DOText(this Text target, string endValue, float duration, bool richTextEnabled = true, ScrambleMode scrambleMode = ScrambleMode.None, string scrambleChars = null) { - return DOTween.To(() => target.text, x => target.text = x, endValue, duration) - .SetOptions(richTextEnabled, scrambleMode, scrambleChars) + TweenerCore t = DOTween.To(() => target.text, x => target.text = x, endValue, duration); + t.SetOptions(richTextEnabled, scrambleMode, scrambleChars) .SetTarget(target); + return t; } #endregion diff --git a/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs b/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs index caede5e..176ecae 100644 --- a/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs +++ b/_DOTween.Assembly/bin/Modules/DOTweenModuleUnityVersion.cs @@ -4,6 +4,7 @@ using System; using UnityEngine; using DG.Tweening.Core; +using DG.Tweening.Plugins.Options; #pragma warning disable 1591 namespace DG.Tweening @@ -178,13 +179,15 @@ namespace DG.Tweening /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOOffset(this Material target, Vector2 endValue, int propertyID, float duration) + public static TweenerCore DOOffset(this Material target, Vector2 endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetTextureOffset(propertyID), x => target.SetTextureOffset(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } /// Tweens a Material's named texture scale property with the given ID to the given value. @@ -192,13 +195,15 @@ namespace DG.Tweening /// The end value to reach /// The ID of the material property to tween (also called nameID in Unity's manual) /// The duration of the tween - public static Tweener DOTiling(this Material target, Vector2 endValue, int propertyID, float duration) + public static TweenerCore DOTiling(this Material target, Vector2 endValue, int propertyID, float duration) { if (!target.HasProperty(propertyID)) { if (Debugger.logPriority > 0) Debugger.LogMissingMaterialProperty(propertyID); return null; } - return DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration).SetTarget(target); + TweenerCore t = DOTween.To(() => target.GetTextureScale(propertyID), x => target.SetTextureScale(propertyID, x), endValue, duration); + t.SetTarget(target); + return t; } #endregion