Exemple #1
0
        public virtual void advanceTime(float time)
        {
            int numObjects   = (int)(mObjects.getLength());
            int currentIndex = 0;
            int i            = 0;

            mElapsedTime = mElapsedTime + time;
            if (numObjects == 0)
            {
                return;
            }
            for (i = 0; i < numObjects; ++i)
            {
                AsIAnimatable _object = mObjects[i];
                if (_object != null)
                {
                    if (currentIndex != i)
                    {
                        mObjects[currentIndex] = _object;
                        mObjects[i]            = null;
                    }
                    _object.advanceTime(time);
                    ++currentIndex;
                }
            }
            if (currentIndex != i)
            {
                numObjects = (int)(mObjects.getLength());
                while (i < numObjects)
                {
                    mObjects[currentIndex++] = mObjects[i++];
                }
                mObjects.setLength(currentIndex);
            }
        }