void TweenStart() { if (OneAtSameTime && !this.active) { Invoke("TweenStart", Time.fixedDeltaTime); return; } // Animation Vector3 position = ObjectToAnimate.position; TweenFactory.Tween("Up" + _id, position, PositionTop, GetFloat(TopAnimationTime), TweenScaleFunctions.SineEaseInOut, (t) => { // progress ObjectToAnimate.position = GetPosition(t.CurrentValue); }, (t) => { TweenFactory.Tween("Down" + _id, PositionTop, PositionBottom, GetFloat(TopBottomAnimationTime), TweenScaleFunctions.SineEaseInOut, (t1) => { // progress ObjectToAnimate.position = GetPosition(t1.CurrentValue); }, (t1) => { if (OneAtSameTime) { TweenAnimationsManager.SetActiveNext(); } Invoke("TweenStart", Time.fixedDeltaTime); }); }); }
void OnDestroy() { TweenAnimationsManager.Remove(this); if (this.active) { TweenFactory.RemoveTweenKey("Up" + _id, TweenStopBehavior.DoNotModify); TweenFactory.RemoveTweenKey("Down" + _id, TweenStopBehavior.DoNotModify); TweenAnimationsManager.SetActiveNext(); } }