public void Update(float seconds) { int count = mBehaviours.Count; mFinishedList.Clear(); LockUpdate(); for (int i = 0; i < count; ++i) { ISequnceUpdate sb = mBehaviours[i]; sb.Update(seconds); if (!sb.IsPlaying) { mFinishedList.Add(i); } } UnLockUpdate(); count = mFinishedList.Count; if (count > 0) { for (int i = count - 1; i >= 0; --i) { mInactiveBehaviours.Add(mBehaviours[i]); mBehaviours.RemoveAt(i); } } }
internal void Update(float deltaTime) { if (mCurrent != null) { mCurrent.Update(deltaTime); if (!mCurrent.IsPlaying) { mCurrent = mCurrent.Sibling; } } }