diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML index 8c65c88..bdbfcd5 100644 --- a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.XML @@ -1778,6 +1778,17 @@ The value to tween byThe duration of the tween Rotation mode + + Punches a Transform's localRotation BY the given value and then back to the starting one + as if it was connected to the starting rotation via an elastic. Does it in a way that allows other + DOBlendableRotate tweens to work together on the same target + The punch strength (added to the Transform's current rotation) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards. + 1 creates a full oscillation between the punch rotation and the opposite rotation, + while 0 oscillates only between the punch and the start rotation + Tweens a Transform's localScale BY the given value (as if you chained a SetRelative), in a way that allows other DOBlendableScale tweens to work together on the same target, diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll index e8f9af8..a0c03eb 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll differ diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb index c5a6275..1bd1f02 100644 Binary files a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb and b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll.mdb differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML index 8c65c88..bdbfcd5 100644 --- a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.XML @@ -1778,6 +1778,17 @@ The value to tween byThe duration of the tween Rotation mode + + Punches a Transform's localRotation BY the given value and then back to the starting one + as if it was connected to the starting rotation via an elastic. Does it in a way that allows other + DOBlendableRotate tweens to work together on the same target + The punch strength (added to the Transform's current rotation) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards. + 1 creates a full oscillation between the punch rotation and the opposite rotation, + while 0 oscillates only between the punch and the start rotation + Tweens a Transform's localScale BY the given value (as if you chained a SetRelative), in a way that allows other DOBlendableScale tweens to work together on the same target, diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll index e8f9af8..a0c03eb 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll differ diff --git a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb index c5a6275..1bd1f02 100644 Binary files a/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb and b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML index 8c65c88..bdbfcd5 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML @@ -1778,6 +1778,17 @@ The value to tween byThe duration of the tween Rotation mode + + Punches a Transform's localRotation BY the given value and then back to the starting one + as if it was connected to the starting rotation via an elastic. Does it in a way that allows other + DOBlendableRotate tweens to work together on the same target + The punch strength (added to the Transform's current rotation) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards. + 1 creates a full oscillation between the punch rotation and the opposite rotation, + while 0 oscillates only between the punch and the start rotation + Tweens a Transform's localScale BY the given value (as if you chained a SetRelative), in a way that allows other DOBlendableScale tweens to work together on the same target, diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll index e8f9af8..a0c03eb 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb index c5a6275..1bd1f02 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.cs b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.cs index 14d6a29..0da7cc5 100644 --- a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.cs +++ b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.cs @@ -5,30 +5,31 @@ using UnityEngine; public class IndexOutOfRangeOnKill02 : MonoBehaviour { - // Can't replicate the error - void Start() + public Transform target; + public RectTransform targetUI; + + void Update() { - Debug.Log("Start() ► Disabling safe mode"); - - DOTween.Init(false, false); - - Tween t = transform.DOMoveX(2, 2); - t.OnComplete(() => { - Debug.Log("OnComplete()"); - TweenKiller(); - Destroy(gameObject); - }); + if(Input.GetKeyUp(KeyCode.L)) ReproTweenBug(); } - void OnDestroy() + void ReproTweenBugKiller() { - Debug.Log("OnDestroy()"); - TweenKiller(); + target.DOKill(true); + targetUI.DOKill(true); } - void TweenKiller() + void ReproTweenBug() { - Debug.Log("TweenKiller()"); - transform.DOKill(true); + ReproTweenBugKiller(); + + var rotation = 2 * 360; + var duration = rotation / 360f; + + target.DORotate(new Vector3(0, 0, rotation), duration, RotateMode.FastBeyond360).SetEase(Ease.OutCubic) + .OnComplete(() => { + targetUI.DOAnchorPos(Vector2.zero, 0.4f).SetEase(Ease.InBack) + .OnComplete(() => targetUI.DOKill(true)); + }); } } \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.unity b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.unity index 973ebe9..0528206 100644 Binary files a/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.unity and b/UnityTests.Unity5/Assets/_Tests/Bugs/IndexOutOfRangeOnKill02.unity differ diff --git a/_DOTween.Assembly/DOTween/Core/TweenManager.cs b/_DOTween.Assembly/DOTween/Core/TweenManager.cs index 5942401..0b94432 100644 --- a/_DOTween.Assembly/DOTween/Core/TweenManager.cs +++ b/_DOTween.Assembly/DOTween/Core/TweenManager.cs @@ -576,7 +576,12 @@ namespace DG.Tweening.Core // Special additional operations in case of despawn if (hasDespawned) { int count = _KillList.Count - 1; - for (int i = count; i > -1; --i) RemoveActiveTween(_KillList[i]); + for (int i = count; i > -1; --i) { + Tween t = _KillList[i]; + // Ignore tweens with activeId -1, since they were already killed and removed + // by nested OnComplete callbacks + if (t.activeId != -1) RemoveActiveTween(t); + } _KillList.Clear(); } diff --git a/_DOTween.Assembly/DOTween/DOTween.cs b/_DOTween.Assembly/DOTween/DOTween.cs index c61e599..1270887 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.1.655"; + public static readonly string Version = "1.1.660"; /////////////////////////////////////////////// // Options //////////////////////////////////// diff --git a/_DOTween.Assembly/bin/DOTween.XML b/_DOTween.Assembly/bin/DOTween.XML index 8c65c88..bdbfcd5 100644 --- a/_DOTween.Assembly/bin/DOTween.XML +++ b/_DOTween.Assembly/bin/DOTween.XML @@ -1778,6 +1778,17 @@ The value to tween byThe duration of the tween Rotation mode + + Punches a Transform's localRotation BY the given value and then back to the starting one + as if it was connected to the starting rotation via an elastic. Does it in a way that allows other + DOBlendableRotate tweens to work together on the same target + The punch strength (added to the Transform's current rotation) + The duration of the tween + Indicates how much will the punch vibrate + Represents how much (0 to 1) the vector will go beyond the starting rotation when bouncing backwards. + 1 creates a full oscillation between the punch rotation and the opposite rotation, + while 0 oscillates only between the punch and the start rotation + Tweens a Transform's localScale BY the given value (as if you chained a SetRelative), in a way that allows other DOBlendableScale tweens to work together on the same target, diff --git a/_DOTween.Assembly/bin/DOTween.dll b/_DOTween.Assembly/bin/DOTween.dll index e8f9af8..a0c03eb 100644 Binary files a/_DOTween.Assembly/bin/DOTween.dll and b/_DOTween.Assembly/bin/DOTween.dll differ diff --git a/_DOTween.Assembly/bin/DOTween.dll.mdb b/_DOTween.Assembly/bin/DOTween.dll.mdb index c5a6275..1bd1f02 100644 Binary files a/_DOTween.Assembly/bin/DOTween.dll.mdb and b/_DOTween.Assembly/bin/DOTween.dll.mdb differ