FairyGUI.GList.RefreshVirtualList C# (CSharp) Method

RefreshVirtualList() public method

public RefreshVirtualList ( object param ) : void
param object
return void
        void RefreshVirtualList(object param)
        {
            bool layoutChanged = _virtualListChanged == 2;
            _virtualListChanged = 0;
            _eventLocked = true;

            if (layoutChanged)
            {
                if (_layout == ListLayoutType.SingleColumn || _layout == ListLayoutType.SingleRow)
                    _curLineItemCount = 1;
                else if (_lineItemCount != 0)
                    _curLineItemCount = _lineItemCount;
                else if (_layout == ListLayoutType.FlowHorizontal)
                {
                    _curLineItemCount = Mathf.FloorToInt((this.scrollPane.viewWidth + _columnGap) / (_itemSize.x + _columnGap));
                    if (_curLineItemCount <= 0)
                        _curLineItemCount = 1;
                }
                else if (_layout == ListLayoutType.FlowVertical)
                {
                    _curLineItemCount = Mathf.FloorToInt((this.scrollPane.viewHeight + _lineGap) / (_itemSize.y + _lineGap));
                    if (_curLineItemCount <= 0)
                        _curLineItemCount = 1;
                }
                else //pagination
                {
                    _curLineItemCount = Mathf.FloorToInt((this.scrollPane.viewWidth + _columnGap) / (_itemSize.x + _columnGap));
                    if (_curLineItemCount <= 0)
                        _curLineItemCount = 1;
                }

                if (_layout == ListLayoutType.Pagination)
                {
                    _curLineItemCount2 = Mathf.FloorToInt((this.scrollPane.viewHeight + _lineGap) / (_itemSize.y + _lineGap));
                    if (_curLineItemCount2 <= 0)
                        _curLineItemCount2 = 1;
                }
            }

            float ch = 0, cw = 0;
            if (_realNumItems > 0)
            {
                int len = Mathf.CeilToInt((float)_realNumItems / _curLineItemCount) * _curLineItemCount;
                if (_layout == ListLayoutType.SingleColumn || _layout == ListLayoutType.FlowHorizontal)
                {
                    for (int i = 0; i < len; i += _curLineItemCount)
                        ch += _virtualItems[i].size.y + _lineGap;
                    if (ch > 0)
                        ch -= _lineGap;

                    for (int i = 0; i < _curLineItemCount; i++)
                        cw += _virtualItems[i].size.x + _columnGap;
                    if (cw > 0)
                        cw -= _columnGap;
                }
                else if (_layout == ListLayoutType.SingleRow || _layout == ListLayoutType.FlowVertical)
                {
                    for (int i = 0; i < len; i += _curLineItemCount)
                        cw += _virtualItems[i].size.x + _columnGap;
                    if (cw > 0)
                        cw -= _columnGap;
                    ch = this.scrollPane.contentHeight;

                    for (int i = 0; i < _curLineItemCount; i++)
                        ch += _virtualItems[i].size.y + _lineGap;
                    if (ch > 0)
                        ch -= _lineGap;
                }
                else
                {
                    int pageCount = Mathf.CeilToInt((float)len / (_curLineItemCount * _curLineItemCount2));
                    cw = pageCount * viewWidth;
                    ch = viewHeight;
                }
            }

            HandleAlign(cw, ch);
            this.scrollPane.SetContentSize(cw, ch);

            _eventLocked = false;

            HandleScroll(true);
        }

Same methods

GList::RefreshVirtualList ( ) : void

Usage Example

示例#1
0
 static public int RefreshVirtualList(IntPtr l)
 {
     try {
         FairyGUI.GList self = (FairyGUI.GList)checkSelf(l);
         self.RefreshVirtualList();
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
All Usage Examples Of FairyGUI.GList::RefreshVirtualList