예제 #1
0
        public void Update(bool updateAll)
        {
            int count = this.mItemSizeGroupList.Count;

            if (count == 0 || this.mDirtyBeginIndex >= count)
            {
                return;
            }
            int num = 0;

            for (int mDirtyBeginIndex = this.mDirtyBeginIndex; mDirtyBeginIndex < count; ++mDirtyBeginIndex)
            {
                ++num;
                ItemSizeGroup mItemSizeGroup = this.mItemSizeGroupList[mDirtyBeginIndex];
                ++this.mDirtyBeginIndex;
                mItemSizeGroup.UpdateAllItemStartPos();
                if (mDirtyBeginIndex == 0)
                {
                    mItemSizeGroup.mGroupStartPos = 0.0f;
                    mItemSizeGroup.mGroupEndPos   = mItemSizeGroup.mGroupSize;
                }
                else
                {
                    mItemSizeGroup.mGroupStartPos = this.mItemSizeGroupList[mDirtyBeginIndex - 1].mGroupEndPos;
                    mItemSizeGroup.mGroupEndPos   = mItemSizeGroup.mGroupStartPos + mItemSizeGroup.mGroupSize;
                }
                if (!updateAll && num > 1)
                {
                    break;
                }
            }
        }
예제 #2
0
        public void Update(bool updateAll)
        {
            int count = mItemSizeGroupList.Count;

            if (count == 0)
            {
                return;
            }
            if (mDirtyBeginIndex >= count)
            {
                return;
            }
            int loopCount = 0;

            for (int i = mDirtyBeginIndex; i < count; ++i)
            {
                loopCount++;
                ItemSizeGroup tGroup = mItemSizeGroupList[i];
                mDirtyBeginIndex++;
                tGroup.UpdateAllItemStartPos();
                if (i == 0)
                {
                    tGroup.mGroupStartPos = 0;
                    tGroup.mGroupEndPos   = tGroup.mGroupSize;
                }
                else
                {
                    tGroup.mGroupStartPos = mItemSizeGroupList[i - 1].mGroupEndPos;
                    tGroup.mGroupEndPos   = tGroup.mGroupStartPos + tGroup.mGroupSize;
                }
                if (!updateAll && loopCount > 1)
                {
                    return;
                }
            }
        }