diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML index d3bf9e1..6acf127 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.XML @@ -2452,7 +2452,7 @@ Default is -999 so avoid using an ID like that or it will capture all unset intIds - Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shorcuts + Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts Called when the tween is set in a playing state, after any eventual delay. diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/DOTween.dll index f8c075b..e7812cd 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 e5a8052..9026863 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/Demigiant/DOTween/Editor/DOTweenEditor.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll index 9406e14..470a2b7 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb index 968579b..90cd81d 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenEditor.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta index f18d0cd..3683b03 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.XML.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 1b9c6b17aec073847a9d34c432a148ec -timeCreated: 1544961652 +timeCreated: 1548936985 licenseType: Pro TextScriptImporter: userData: diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll index 28b495c..9e8a562 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll and b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb index c7d769d..43d1f02 100644 Binary files a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb and b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb differ diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb.meta b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb.meta index a3fa192..f42573a 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb.meta +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.mdb.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 56bca508bd08a4f44a507f17e7577afb -timeCreated: 1544961640 +timeCreated: 1548936971 licenseType: Pro DefaultImporter: userData: diff --git a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta index 345e372..e26e001 100644 --- a/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta +++ b/UnityTests.Unity5/Assets/Demigiant/DOTween/Editor/DOTweenUpgradeManager.dll.meta @@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: c7602d66796c87a4fac3013913374c07 -timeCreated: 1544961644 +timeCreated: 1548936979 licenseType: Pro PluginImporter: serializedVersion: 2 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 25e15df..6b28c5e 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: 1545441841 +timeCreated: 1549566641 licenseType: Pro TextureImporter: fileIDToRecycleName: {} diff --git a/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs b/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs index 0693564..0774941 100644 --- a/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs +++ b/_DOTween.Assembly/DOTween/Core/DOTweenComponent.cs @@ -35,7 +35,9 @@ namespace DG.Tweening.Core { if (DOTween.instance == null) DOTween.instance = this; else { - Debugger.LogWarning("Duplicate DOTweenComponent instance found in scene: destroying it"); + if (Debugger.logPriority >= 1) { + Debugger.LogWarning("Duplicate DOTweenComponent instance found in scene: destroying it"); + } Destroy(this.gameObject); return; } diff --git a/_DOTween.Assembly/DOTween/Core/Debugger.cs b/_DOTween.Assembly/DOTween/Core/Debugger.cs index f3f6fd6..b270f07 100644 --- a/_DOTween.Assembly/DOTween/Core/Debugger.cs +++ b/_DOTween.Assembly/DOTween/Core/Debugger.cs @@ -67,9 +67,14 @@ namespace DG.Tweening.Core LogWarning(string.Format("This material doesn't have a {0} property", propertyName)); } - public static void LogRemoveActiveTweenError(string propertyName) + public static void LogRemoveActiveTweenError(string errorInfo) { - Log(string.Format("Error in RemoveActiveTween.{0}. It's been taken care of so no problems, but Daniele (DOTween's author) is trying to pinpoint it and it would be awesome if you could reproduce this log in a sample project and send it to him. Or even just write him the complete log that was generated by this message. Fixing this would make DOTween slightly faster. Thanks.", propertyName)); + LogWarning(string.Format("Error in RemoveActiveTween ({0}). It's been taken care of so no problems, but Daniele (DOTween's author) is trying to pinpoint it (it's very rare and he can't reproduce it) so it would be awesome if you could reproduce this log in a sample project and send it to him. Or even just write him the complete log that was generated by this message. Fixing this would make DOTween slightly faster. Thanks.", errorInfo)); + } + + public static void LogAddActiveTweenError(string errorInfo) + { + LogWarning(string.Format("Error in AddActiveTween ({0}). It's been taken care of so no problems, but Daniele (DOTween's author) is trying to pinpoint it (it's very rare and he can't reproduce it) so it would be awesome if you could reproduce this log in a sample project and send it to him. Or even just write him the complete log that was generated by this message. Fixing this would make DOTween slightly faster. Thanks.", errorInfo)); } public static void SetLogPriority(LogBehaviour logBehaviour) diff --git a/_DOTween.Assembly/DOTween/Core/TweenManager.cs b/_DOTween.Assembly/DOTween/Core/TweenManager.cs index c75a1d6..da8f8e9 100644 --- a/_DOTween.Assembly/DOTween/Core/TweenManager.cs +++ b/_DOTween.Assembly/DOTween/Core/TweenManager.cs @@ -877,6 +877,16 @@ namespace DG.Tweening.Core { if (_requiresActiveReorganization) ReorganizeActiveTweens(); + // Safety check (IndexOutOfRangeException) + if (totActiveTweens < 0) { + Debugger.LogAddActiveTweenError("totActiveTweens < 0"); + totActiveTweens = 0; + } +// else if (totActiveTweens > _activeTweens.Length - 1) { +// Debugger.LogError("AddActiveTween: totActiveTweens > _activeTweens capacity. This should never ever happen. Please report it with instructions on how to reproduce it"); +// return; +// } + t.active = true; t.updateType = DOTween.defaultUpdateType; t.isIndependentUpdate = DOTween.defaultTimeScaleIndependent; @@ -957,36 +967,40 @@ namespace DG.Tweening.Core _activeTweens[index] = null; if (t.updateType == UpdateType.Normal) { + // Safety check (IndexOutOfRangeException) if (totActiveDefaultTweens > 0) { totActiveDefaultTweens--; hasActiveDefaultTweens = totActiveDefaultTweens > 0; } else { - Debugger.LogRemoveActiveTweenError("totActiveDefaultTweens"); + Debugger.LogRemoveActiveTweenError("totActiveDefaultTweens < 0"); } } else { switch (t.updateType) { case UpdateType.Fixed: + // Safety check (IndexOutOfRangeException) if (totActiveFixedTweens > 0) { totActiveFixedTweens--; hasActiveFixedTweens = totActiveFixedTweens > 0; } else { - Debugger.LogRemoveActiveTweenError("totActiveFixedTweens"); + Debugger.LogRemoveActiveTweenError("totActiveFixedTweens < 0"); } break; case UpdateType.Late: + // Safety check (IndexOutOfRangeException) if (totActiveLateTweens > 0) { totActiveLateTweens--; hasActiveLateTweens = totActiveLateTweens > 0; } else { - Debugger.LogRemoveActiveTweenError("totActiveLateTweens"); + Debugger.LogRemoveActiveTweenError("totActiveLateTweens < 0"); } break; default: + // Safety check (IndexOutOfRangeException) if (totActiveManualTweens > 0) { totActiveManualTweens--; hasActiveManualTweens = totActiveManualTweens > 0; } else { - Debugger.LogRemoveActiveTweenError("totActiveManualTweens"); + Debugger.LogRemoveActiveTweenError("totActiveManualTweens < 0"); } break; } @@ -995,17 +1009,20 @@ namespace DG.Tweening.Core hasActiveTweens = totActiveTweens > 0; if (t.tweenType == TweenType.Tweener) totActiveTweeners--; else totActiveSequences--; + // Safety check (IndexOutOfRangeException) if (totActiveTweens < 0) { totActiveTweens = 0; - Debugger.LogRemoveActiveTweenError("totActiveTweens"); + Debugger.LogRemoveActiveTweenError("totActiveTweens < 0"); } + // Safety check (IndexOutOfRangeException) if (totActiveTweeners < 0) { totActiveTweeners = 0; - Debugger.LogRemoveActiveTweenError("totActiveTweeners"); + Debugger.LogRemoveActiveTweenError("totActiveTweeners < 0"); } + // Safety check (IndexOutOfRangeException) if (totActiveSequences < 0) { totActiveSequences = 0; - Debugger.LogRemoveActiveTweenError("totActiveSequences"); + Debugger.LogRemoveActiveTweenError("totActiveSequences < 0"); } } diff --git a/_DOTween.Assembly/DOTween/DOTween.cs b/_DOTween.Assembly/DOTween/DOTween.cs index c6c2f57..ec2a594 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.165"; // Last version before modules: 1.1.755 + public static readonly string Version = "1.2.166"; // Last version before modules: 1.1.755 /////////////////////////////////////////////// // Options //////////////////////////////////// diff --git a/_DOTween.Assembly/DOTween/Tween.cs b/_DOTween.Assembly/DOTween/Tween.cs index 5b58ee3..29560e4 100644 --- a/_DOTween.Assembly/DOTween/Tween.cs +++ b/_DOTween.Assembly/DOTween/Tween.cs @@ -31,7 +31,7 @@ namespace DG.Tweening /// Int ID (usable for filtering with DOTween static methods). 4X faster than using an object id, 2X faster than using a string id. /// Default is -999 so avoid using an ID like that or it will capture all unset intIds public int intId = -999; - /// Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shorcuts + /// Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts public object target; // Automatically set by DO shortcuts using SetTarget extension. Also used during Tweener.DoStartup in some special cases // Update type and eventual independence (changed via TweenManager.SetUpdateType) internal UpdateType updateType; @@ -280,9 +280,11 @@ namespace DG.Tweening try { callback(); } catch (Exception e) { - Debugger.LogWarning(string.Format( - "An error inside a tween callback was silently taken care of ({0}) ► {1}\n\n{2}\n\n", e.TargetSite, e.Message, e.StackTrace - )); + if (Debugger.logPriority >= 1) { + Debugger.LogWarning(string.Format( + "An error inside a tween callback was silently taken care of ({0}) ► {1}\n\n{2}\n\n", e.TargetSite, e.Message, e.StackTrace + )); + } return false; // Callback error } } else callback(); @@ -294,9 +296,11 @@ namespace DG.Tweening try { callback(param); } catch (Exception e) { - Debugger.LogWarning(string.Format( - "An error inside a tween callback was silently taken care of ({0}) ► {1}", e.TargetSite, e.Message - )); + if (Debugger.logPriority >= 1) { + Debugger.LogWarning(string.Format( + "An error inside a tween callback was silently taken care of ({0}) ► {1}", e.TargetSite, e.Message + )); + } return false; // Callback error } } else callback(param); diff --git a/_DOTween.Assembly/DOTween/Tweener.cs b/_DOTween.Assembly/DOTween/Tweener.cs index e554494..853f9db 100644 --- a/_DOTween.Assembly/DOTween/Tweener.cs +++ b/_DOTween.Assembly/DOTween/Tweener.cs @@ -134,9 +134,11 @@ namespace DG.Tweening try { t.startValue = t.tweenPlugin.ConvertToStartValue(t, t.getter()); } catch (Exception e) { - Debugger.LogWarning(string.Format( - "Tween startup failed (NULL target/property - {0}): the tween will now be killed ► {1}", e.TargetSite, e.Message - )); + if (Debugger.logPriority >= 1) { + Debugger.LogWarning(string.Format( + "Tween startup failed (NULL target/property - {0}): the tween will now be killed ► {1}", e.TargetSite, e.Message + )); + } return false; // Target/field doesn't exist: kill tween } } else t.startValue = t.tweenPlugin.ConvertToStartValue(t, t.getter()); diff --git a/_DOTween.Assembly/bin/DOTween.XML b/_DOTween.Assembly/bin/DOTween.XML index d3bf9e1..6acf127 100644 --- a/_DOTween.Assembly/bin/DOTween.XML +++ b/_DOTween.Assembly/bin/DOTween.XML @@ -2452,7 +2452,7 @@ Default is -999 so avoid using an ID like that or it will capture all unset intIds - Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shorcuts + Tween target (usable for filtering with DOTween static methods). Automatically set by tween creation shortcuts Called when the tween is set in a playing state, after any eventual delay. diff --git a/_DOTween.Assembly/bin/DOTween.dll b/_DOTween.Assembly/bin/DOTween.dll index f8c075b..e7812cd 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 e5a8052..9026863 100644 Binary files a/_DOTween.Assembly/bin/DOTween.dll.mdb and b/_DOTween.Assembly/bin/DOTween.dll.mdb differ diff --git a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll index 9406e14..470a2b7 100644 Binary files a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll and b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll differ diff --git a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb index 968579b..90cd81d 100644 Binary files a/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb and b/_DOTween.Assembly/bin/Editor/DOTweenEditor.dll.mdb differ diff --git a/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll b/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll index 28b495c..9e8a562 100644 Binary files a/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll and b/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll differ diff --git a/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll.mdb b/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll.mdb index c7d769d..43d1f02 100644 Binary files a/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll.mdb and b/_DOTween.Assembly/bin/Editor/DOTweenUpgradeManager.dll.mdb differ