public static Sequence GetSequence() { Sequence sequence; if (TweenManager.totPooledSequences > 0) { sequence = (Sequence)TweenManager._PooledSequences.Pop(); TweenManager.AddActiveTween(sequence); TweenManager.totPooledSequences--; return(sequence); } if (TweenManager.totSequences >= TweenManager.maxSequences - 1) { int num = TweenManager.maxTweeners; int num2 = TweenManager.maxSequences; TweenManager.IncreaseCapacities(TweenManager.CapacityIncreaseMode.SequencesOnly); if (Debugger.logPriority >= 1) { Debugger.LogWarning("Max Tweens reached: capacity has automatically been increased from #0 to #1. Use DOTween.SetTweensCapacity to set it manually at startup".Replace("#0", num + "/" + num2).Replace("#1", TweenManager.maxTweeners + "/" + TweenManager.maxSequences)); } } sequence = new Sequence(); TweenManager.totSequences++; TweenManager.AddActiveTween(sequence); return(sequence); }
public static TweenerCore <T1, T2, TPlugOptions> GetTweener <T1, T2, TPlugOptions>() where TPlugOptions : struct { TweenerCore <T1, T2, TPlugOptions> tweenerCore; if (TweenManager.totPooledTweeners > 0) { Type typeFromHandle = typeof(T1); Type typeFromHandle2 = typeof(T2); Type typeFromHandle3 = typeof(TPlugOptions); for (int i = TweenManager._maxPooledTweenerId; i > TweenManager._minPooledTweenerId - 1; i--) { Tween tween = TweenManager._pooledTweeners[i]; if (tween != null && tween.typeofT1 == typeFromHandle && tween.typeofT2 == typeFromHandle2 && tween.typeofTPlugOptions == typeFromHandle3) { tweenerCore = (TweenerCore <T1, T2, TPlugOptions>)tween; TweenManager.AddActiveTween(tweenerCore); TweenManager._pooledTweeners[i] = null; if (TweenManager._maxPooledTweenerId != TweenManager._minPooledTweenerId) { if (i == TweenManager._maxPooledTweenerId) { TweenManager._maxPooledTweenerId--; } else if (i == TweenManager._minPooledTweenerId) { TweenManager._minPooledTweenerId++; } } TweenManager.totPooledTweeners--; return(tweenerCore); } } if (TweenManager.totTweeners >= TweenManager.maxTweeners) { TweenManager._pooledTweeners[TweenManager._maxPooledTweenerId] = null; TweenManager._maxPooledTweenerId--; TweenManager.totPooledTweeners--; TweenManager.totTweeners--; } } else if (TweenManager.totTweeners >= TweenManager.maxTweeners - 1) { int num = TweenManager.maxTweeners; int num2 = TweenManager.maxSequences; TweenManager.IncreaseCapacities(TweenManager.CapacityIncreaseMode.TweenersOnly); if (Debugger.logPriority >= 1) { Debugger.LogWarning("Max Tweens reached: capacity has automatically been increased from #0 to #1. Use DOTween.SetTweensCapacity to set it manually at startup".Replace("#0", num + "/" + num2).Replace("#1", TweenManager.maxTweeners + "/" + TweenManager.maxSequences)); } } tweenerCore = new TweenerCore <T1, T2, TPlugOptions>(); TweenManager.totTweeners++; TweenManager.AddActiveTween(tweenerCore); return(tweenerCore); }