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 Awake() { if (!_instance) { _instance = this; } }
void OnDestroy() { TweenAnimationsManager.Remove(this); if (this.active) { TweenFactory.RemoveTweenKey("Up" + _id, TweenStopBehavior.DoNotModify); TweenFactory.RemoveTweenKey("Down" + _id, TweenStopBehavior.DoNotModify); TweenAnimationsManager.SetActiveNext(); } }
void Awake() { if (OneAtSameTime) { TweenAnimationsManager.Add(this); TweenAnimationsManager.SetMaxCounter(NumOfAnimationsBeforeNext); SetActive(TweenAnimationsManager.IsActive(this)); } startingPosition = ObjectToAnimate.position; PositionTop += startingPosition; PositionBottom += startingPosition; _id = gameObject.GetInstanceID().ToString(); }