Esempio n. 1
0
        /// <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();
        }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
 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);
 }