protected void Update() { timer += Time.deltaTime; evaluate = GetEvaluate(timer, time); if (evaluate >= 0.999f) { timer = 0.0f; lock (SyncLock) { AnimatingObjects.Dequeue(); } AnimationFinishing(); } else { Animation(); } if (CanFinish()) { OnAnimationFinish(); enabled = false; } }
protected void StartAnimation(float time) { this.time = time; timer = 0; evaluate = 0; lock (SyncLock) { AnimatingObjects.Enqueue(true); } IsAnimating = true; enabled = true; }