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