/// <summary> /// Kills all tweens, clears all cached tween pools and plugins and resets the max Tweeners/Sequences capacities to the default values. /// </summary> /// <param name="destroy">If TRUE also destroys DOTween's gameObject and resets its initializiation, default settings and everything else /// (so that next time you use it it will need to be re-initialized)</param> public static void Clear(bool destroy = false) { TweenManager.PurgeAll(); PluginsManager.PurgeAll(); if (!destroy) { return; } initialized = false; useSafeMode = false; showUnityEditorReport = false; timeScale = 1; logBehaviour = LogBehaviour.ErrorsOnly; defaultEaseType = Ease.OutQuad; defaultEaseOvershootOrAmplitude = 1.70158f; defaultEasePeriod = 0; defaultAutoPlay = AutoPlay.All; defaultLoopType = LoopType.Restart; defaultAutoKill = true; defaultRecyclable = false; maxActiveTweenersReached = maxActiveSequencesReached = 0; DOTweenComponent.DestroyInstance(); }
public static void Clear(bool destroy = false) { TweenManager.PurgeAll(); PluginsManager.PurgeAll(); if (!destroy) { return; } DOTween.initialized = false; DOTween.useSafeMode = false; DOTween.showUnityEditorReport = false; DOTween.drawGizmos = true; DOTween.timeScale = 1f; DOTween.useSmoothDeltaTime = false; DOTween.logBehaviour = LogBehaviour.ErrorsOnly; DOTween.defaultEaseType = Ease.OutQuad; DOTween.defaultEaseOvershootOrAmplitude = 1.70158f; DOTween.defaultEasePeriod = 0f; DOTween.defaultUpdateType = UpdateType.Normal; DOTween.defaultTimeScaleIndependent = false; DOTween.defaultAutoPlay = AutoPlay.All; DOTween.defaultLoopType = LoopType.Restart; DOTween.defaultAutoKill = true; DOTween.defaultRecyclable = false; DOTween.maxActiveTweenersReached = (DOTween.maxActiveSequencesReached = 0); DOTweenComponent.DestroyInstance(); }
/// <summary> /// Must be called once, before the first ever DOTween call/reference, /// otherwise it will be called automatically and will use default options. /// Calling it a second time won't have any effect. /// <para>You can chain <code>SetCapacity</code> to this method, to directly set the max starting size of Tweeners and Sequences:</para> /// <code>DOTween.Init(false, false, LogBehaviour.Default).SetCapacity(100, 20);</code> /// </summary> /// <param name="recycleAllByDefault">If TRUE all new tweens will be set for recycling, meaning that when killed, /// instead of being destroyed, they will be put in a pool and reused instead of creating new tweens. This option allows you to avoid /// GC allocations by reusing tweens, but you will have to take care of tween references, since they might result active /// even if they were killed (since they might have been respawned and are now being used for other tweens). /// <para>If you want to automatically set your tween references to NULL when a tween is killed /// you can use the OnKill callback like this:</para> /// <code>.OnKill(()=> myTweenReference = null)</code> /// <para>You can change this setting at any time by changing the static <see cref="DOTween.defaultRecyclable"/> property, /// or you can set the recycling behaviour for each tween separately, using:</para> /// <para><code>SetRecyclable(bool recyclable)</code></para> /// <para>Default: FALSE</para></param> /// <param name="useSafeMode">If TRUE makes tweens slightly slower but safer, automatically taking care of a series of things /// (like targets becoming null while a tween is playing). /// You can change this setting at any time by changing the static <see cref="DOTween.useSafeMode"/> property. /// <para>Default: FALSE</para></param> /// <param name="logBehaviour">Type of logging to use. /// You can change this setting at any time by changing the static <see cref="DOTween.logBehaviour"/> property. /// <para>Default: ErrorsOnly</para></param> public static IDOTweenInit Init(bool recycleAllByDefault = false, bool useSafeMode = true, LogBehaviour logBehaviour = LogBehaviour.ErrorsOnly) { if (initialized) { return(instance); } if (!Application.isPlaying || isQuitting) { return(null); } initialized = true; // Options DOTween.defaultRecyclable = recycleAllByDefault; DOTween.useSafeMode = useSafeMode; DOTween.logBehaviour = logBehaviour; // Gameobject - also assign instance DOTweenComponent.Create(); // Log if (Debugger.logPriority >= 2) { Debugger.Log("DOTween initialization (useSafeMode: " + useSafeMode + ", logBehaviour: " + logBehaviour + ")"); } return(instance); }
private static IDOTweenInit Init(DOTweenSettings settings, bool?recycleAllByDefault, bool?useSafeMode, LogBehaviour?logBehaviour) { DOTween.initialized = true; if (recycleAllByDefault.HasValue) { DOTween.defaultRecyclable = recycleAllByDefault.Value; } if (useSafeMode.HasValue) { DOTween.useSafeMode = useSafeMode.Value; } if (logBehaviour.HasValue) { DOTween.logBehaviour = logBehaviour.Value; } DOTweenComponent.Create(); if (settings != null) { if (!useSafeMode.HasValue) { DOTween.useSafeMode = settings.useSafeMode; } if (!logBehaviour.HasValue) { DOTween.logBehaviour = settings.logBehaviour; } if (!recycleAllByDefault.HasValue) { DOTween.defaultRecyclable = settings.defaultRecyclable; } DOTween.timeScale = settings.timeScale; DOTween.useSmoothDeltaTime = settings.useSmoothDeltaTime; DOTween.defaultRecyclable = ((!recycleAllByDefault.HasValue) ? settings.defaultRecyclable : recycleAllByDefault.Value); DOTween.showUnityEditorReport = settings.showUnityEditorReport; DOTween.drawGizmos = settings.drawGizmos; DOTween.defaultAutoPlay = settings.defaultAutoPlay; DOTween.defaultUpdateType = settings.defaultUpdateType; DOTween.defaultTimeScaleIndependent = settings.defaultTimeScaleIndependent; DOTween.defaultEaseType = settings.defaultEaseType; DOTween.defaultEaseOvershootOrAmplitude = settings.defaultEaseOvershootOrAmplitude; DOTween.defaultEasePeriod = settings.defaultEasePeriod; DOTween.defaultAutoKill = settings.defaultAutoKill; DOTween.defaultLoopType = settings.defaultLoopType; } if (Debugger.logPriority >= 2) { Debugger.Log(string.Concat(new object[] { "DOTween initialization (useSafeMode: ", DOTween.useSafeMode, ", recycling: ", DOTween.defaultRecyclable ? "ON" : "OFF", ", logBehaviour: ", DOTween.logBehaviour, ")" })); } return(DOTween.instance); }