コード例 #1
0
        public override void DoWindowContents(UnityEngine.Rect inRect)
        {
            Rect outRect = filterModel.DoFilterWindowContent(inRect);

            items = filterModel.Sort(items);
            Rect rect = new Rect(0f, 0f, totalOptionsWidth > 0 ? totalOptionsWidth : outRect.width - 16f, outRect.height - QOLMod.HorizontalScrollbarHeight());

            Widgets.BeginScrollView(outRect, ref this.scrollPosition, rect, true);
            this.listing             = new Listing_Standard();
            this.listing.ColumnWidth = (outRect.width - 16f - 51f) / ((float)numOfColumns);
            this.listing.Begin(rect);
            this.DoListingItems();
            //we determine the correct width after rendering, basically dragging one frame behind in favor of rendering a layout frame.
            Rect rectFinal = this.listing.GetRect(0);

            this.listing.End();
            totalOptionsWidth = rectFinal.x + rectFinal.width + Listing.ColumnSpacing;
            Widgets.EndScrollView();
        }