diff --git a/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll b/UnityCompatibilityTests.Unity35/Assets/Demigiant/DOTween/DOTween.dll index f1b6731..f02895f 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 d0e63d1..174e7a7 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.dll b/UnityTests.Unity4/Assets/Demigiant/DOTween/DOTween.dll index f1b6731..f02895f 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 d0e63d1..174e7a7 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.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll index f1b6731..f02895f 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 d0e63d1..174e7a7 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/BlendableTweens.cs b/UnityTests.Unity5/Assets/_Tests/BlendableTweens.cs new file mode 100644 index 0000000..6eb6a0c --- /dev/null +++ b/UnityTests.Unity5/Assets/_Tests/BlendableTweens.cs @@ -0,0 +1,39 @@ +using UnityEngine; +using System.Collections; +using DG.Tweening; + +public class BlendableTweens : BrainBase +{ + public Transform[] targets; + + Vector3[] startPositions; + + IEnumerator Start() + { + startPositions = new Vector3[targets.Length]; + startPositions[0] = targets[0].position; + startPositions[1] = targets[1].position + new Vector3(3, 3, 0); + + yield return new WaitForSeconds(0.6f); + + targets[0].DOBlendableMoveBy(new Vector3(3, 3, 0), 3).SetAutoKill(false).Pause(); + targets[0].DOBlendableMoveBy(new Vector3(-3, 0, 0), 1f).SetLoops(3, LoopType.Yoyo).SetAutoKill(false).Pause(); + // Same as above but using From + targets[1].DOBlendableMoveBy(new Vector3(3, 3, 0), 3).From().SetAutoKill(false).Pause(); + targets[1].DOBlendableMoveBy(new Vector3(-3, 0, 0), 1f).SetLoops(3, LoopType.Yoyo).SetAutoKill(false).Pause(); + } + + void OnGUI() + { + if (GUILayout.Button("Toggle Pause")) DOTween.TogglePauseAll(); + if (GUILayout.Button("Restart")) DOTween.RestartAll(); + if (GUILayout.Button("Flip")) DOTween.FlipAll(); + } + + void OnDrawGizmos() + { + if (!Application.isPlaying) return; + + foreach (Vector3 pos in startPositions) Gizmos.DrawSphere(pos, 0.2f); + } +} \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/MixedTweens.cs.meta b/UnityTests.Unity5/Assets/_Tests/BlendableTweens.cs.meta similarity index 100% rename from UnityTests.Unity5/Assets/_Tests/MixedTweens.cs.meta rename to UnityTests.Unity5/Assets/_Tests/BlendableTweens.cs.meta diff --git a/UnityTests.Unity5/Assets/_Tests/MixedTweens.unity b/UnityTests.Unity5/Assets/_Tests/BlendableTweens.unity similarity index 67% rename from UnityTests.Unity5/Assets/_Tests/MixedTweens.unity rename to UnityTests.Unity5/Assets/_Tests/BlendableTweens.unity index be728ce..2846201 100644 Binary files a/UnityTests.Unity5/Assets/_Tests/MixedTweens.unity and b/UnityTests.Unity5/Assets/_Tests/BlendableTweens.unity differ diff --git a/UnityTests.Unity5/Assets/_Tests/MixedTweens.unity.meta b/UnityTests.Unity5/Assets/_Tests/BlendableTweens.unity.meta similarity index 100% rename from UnityTests.Unity5/Assets/_Tests/MixedTweens.unity.meta rename to UnityTests.Unity5/Assets/_Tests/BlendableTweens.unity.meta diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/SequenceKillAndComplete.cs b/UnityTests.Unity5/Assets/_Tests/Bugs/SequenceKillAndComplete.cs index dc25694..ae70113 100644 --- a/UnityTests.Unity5/Assets/_Tests/Bugs/SequenceKillAndComplete.cs +++ b/UnityTests.Unity5/Assets/_Tests/Bugs/SequenceKillAndComplete.cs @@ -10,12 +10,13 @@ public class SequenceKillAndComplete : BrainBase IEnumerator Start() { - sequence = DOTween.Sequence(); - sequence.Append(target.DOMoveX(3, 3).SetRelative()); - sequence.Join(target.DOMoveY(3, 3).SetRelative()); + sequence = DOTween.Sequence().OnComplete(()=> Debug.Log("SEQUENCE COMPLETE")); + sequence.Append(target.DOMoveX(3, 3).SetRelative().OnComplete(()=> Debug.Log("Tween A Complete"))); + sequence.Join(target.DOMoveY(3, 3).SetRelative().OnComplete(()=> Debug.Log("Tween B Complete"))); - yield return new WaitForSeconds(1.5f); + yield return new WaitForSeconds(1f); + Debug.Log("COMPLETE"); sequence.Kill(true); } } \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.cs b/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.cs index cc4acd4..18785a6 100644 --- a/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.cs +++ b/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.cs @@ -5,20 +5,18 @@ using System.Collections; public class Temp : BrainBase { - [SerializeField] - private Vector3 pos; - [SerializeField] - private float duration; - [SerializeField] - private GameObject goToMove; + public Transform target; - private Tweener moveTween; + IEnumerator Start() + { + yield return new WaitForSeconds(0.6f); - // Update is called once per frame - void Update() { - if(moveTween == null) { - moveTween = goToMove.transform.DOLocalMove(pos, duration).SetAutoKill(false); - } - moveTween.ChangeEndValue(pos, duration, true); + Sequence s0 = DOTween.Sequence().Append(target.DOMoveX(3, 2)).OnComplete(()=> Debug.Log("s0 complete")); + Sequence s1 = DOTween.Sequence().Append(target.DOMoveY(3, 2)).OnComplete(()=> Debug.Log("s1 complete")); + Sequence s = DOTween.Sequence().Append(s0).Append(s1).OnComplete(()=> Debug.Log("MAIN COMPLETE")); + + yield return new WaitForSeconds(0.2f); + + s.Complete(); } } \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.unity b/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.unity index de4a611..92b2dc1 100644 Binary files a/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.unity and b/UnityTests.Unity5/Assets/_Tests/Bugs/Temp.unity differ diff --git a/UnityTests.Unity5/Assets/_Tests/MixedTweens.cs b/UnityTests.Unity5/Assets/_Tests/MixedTweens.cs deleted file mode 100644 index 9705a9f..0000000 --- a/UnityTests.Unity5/Assets/_Tests/MixedTweens.cs +++ /dev/null @@ -1,23 +0,0 @@ -using UnityEngine; -using System.Collections; -using DG.Tweening; - -public class MixedTweens : BrainBase -{ - public Transform target; - - IEnumerator Start() - { - yield return new WaitForSeconds(0.6f); - - target.DOBlendableMoveBy(new Vector3(3, 3, 0), 3).SetAutoKill(false); - target.DOBlendableMoveBy(new Vector3(-3, 0, 0), 1f).SetLoops(3, LoopType.Yoyo).SetAutoKill(false); - } - - void OnGUI() - { - if (GUILayout.Button("Toggle Pause")) DOTween.TogglePauseAll(); - if (GUILayout.Button("Restart")) DOTween.RestartAll(); - if (GUILayout.Button("Flip")) DOTween.FlipAll(); - } -} \ No newline at end of file diff --git a/UnityTests.Unity5/Assets/_Tests/TempTests.unity b/UnityTests.Unity5/Assets/_Tests/TempTests.unity index 723dbd4..9a1d13d 100644 Binary files a/UnityTests.Unity5/Assets/_Tests/TempTests.unity and b/UnityTests.Unity5/Assets/_Tests/TempTests.unity differ diff --git a/UnityTests.Unity5/Assets/_Tests/_Shared Prefabs/- Environment.prefab b/UnityTests.Unity5/Assets/_Tests/_Shared Prefabs/- Environment.prefab index 224558e..567c8e9 100644 Binary files a/UnityTests.Unity5/Assets/_Tests/_Shared Prefabs/- Environment.prefab and b/UnityTests.Unity5/Assets/_Tests/_Shared Prefabs/- Environment.prefab differ diff --git a/UnityTests.Unity5/ProjectSettings/TagManager.asset b/UnityTests.Unity5/ProjectSettings/TagManager.asset index f73f240..3a10b46 100644 Binary files a/UnityTests.Unity5/ProjectSettings/TagManager.asset and b/UnityTests.Unity5/ProjectSettings/TagManager.asset differ diff --git a/_DOTween.Assembly/DOTween/DOTween.cs b/_DOTween.Assembly/DOTween/DOTween.cs index b17ae36..22a498b 100644 --- a/_DOTween.Assembly/DOTween/DOTween.cs +++ b/_DOTween.Assembly/DOTween/DOTween.cs @@ -21,7 +21,7 @@ namespace DG.Tweening public class DOTween { /// DOTween's version - public static readonly string Version = "1.0.346"; + public static readonly string Version = "1.0.351"; /////////////////////////////////////////////// // Options //////////////////////////////////// diff --git a/_DOTween.Assembly/DOTween/Sequence.cs b/_DOTween.Assembly/DOTween/Sequence.cs index ee8b0d6..431a19a 100644 --- a/_DOTween.Assembly/DOTween/Sequence.cs +++ b/_DOTween.Assembly/DOTween/Sequence.cs @@ -205,6 +205,8 @@ namespace DG.Tweening cyclesDone++; if (s.loopType == LoopType.Yoyo) prevPosIsInverse = !prevPosIsInverse; } + // If completedLoops or position were changed by some callback, exit here + if (expectedCompletedLoops != s.completedLoops || Math.Abs(expectedPosition - s.position) > Single.Epsilon) return !s.active; } else { // Simply determine correct prevPosition after steps if (s.loopType == LoopType.Yoyo && newCompletedSteps % 2 != 0) { @@ -213,8 +215,6 @@ namespace DG.Tweening } newCompletedSteps = 0; } - // If completedLoops or position were changed by some callback, exit here - if (expectedCompletedLoops != s.completedLoops || Math.Abs(expectedPosition - s.position) > Single.Epsilon) return !s.active; } // Run current cycle if (newCompletedSteps == 1 && s.isComplete) return false; // Skip update if complete because multicycle took care of it diff --git a/_DOTween.Assembly/DOTween/TweenExtensions.cs b/_DOTween.Assembly/DOTween/TweenExtensions.cs index 6e1a9c6..802804b 100644 --- a/_DOTween.Assembly/DOTween/TweenExtensions.cs +++ b/_DOTween.Assembly/DOTween/TweenExtensions.cs @@ -97,7 +97,7 @@ namespace DG.Tweening if (complete) { TweenManager.Complete(t); - if (t.autoKill) return; // Already killed by Complete, so no need to go on + if (t.autoKill && t.loops >= 0) return; // Already killed by Complete, so no need to go on } if (TweenManager.isUpdateLoop) { diff --git a/_DOTween.Assembly/bin/DOTween.dll b/_DOTween.Assembly/bin/DOTween.dll index f1b6731..f02895f 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 d0e63d1..174e7a7 100644 Binary files a/_DOTween.Assembly/bin/DOTween.dll.mdb and b/_DOTween.Assembly/bin/DOTween.dll.mdb differ