Esempio n. 1
0
        public static void SortAssetList(BuildReportTool.SizePart[] assetList, BuildReportTool.AssetList.SortType sortType, BuildReportTool.AssetList.SortOrder sortOrder)
        {
            switch (sortType)
            {
            case BuildReportTool.AssetList.SortType.RawSize:
                SortRawSize(assetList, sortOrder);
                break;

            case BuildReportTool.AssetList.SortType.ImportedSize:
                SortImportedSize(assetList, sortOrder);
                break;

            case BuildReportTool.AssetList.SortType.ImportedSizeOrRawSize:
                SortImportedSizeOrRawSize(assetList, sortOrder);
                break;

            case BuildReportTool.AssetList.SortType.SizeBeforeBuild:
                SortSizeBeforeBuild(assetList, sortOrder);
                break;

            case BuildReportTool.AssetList.SortType.PercentSize:
                SortPercentSize(assetList, sortOrder);
                break;

            case BuildReportTool.AssetList.SortType.AssetFullPath:
                SortAssetFullPath(assetList, sortOrder);
                break;

            case BuildReportTool.AssetList.SortType.AssetFilename:
                SortAssetName(assetList, sortOrder);
                break;
            }
        }
Esempio n. 2
0
        bool DrawColumn(int sta, int end, BuildReportTool.AssetList.SortType columnType, string columnName, bool allowSort, bool showScrollbar, BuildReportTool.AssetList assetListCollection, BuildReportTool.SizePart[] assetList, ColumnDisplayDelegate dataToDisplay, ref Vector2 scollbarPos)
        {
            bool buttonPressed = false;

            GUILayout.BeginVertical();


            // ----------------------------------------------------------
            // column header
            string sortTypeStyleName = BuildReportTool.Window.Settings.LIST_COLUMN_HEADER_STYLE_NAME;

            if (allowSort && assetListCollection.CurrentSortType == columnType)
            {
                if (assetListCollection.CurrentSortOrder == BuildReportTool.AssetList.SortOrder.Descending)
                {
                    sortTypeStyleName = BuildReportTool.Window.Settings.LIST_COLUMN_HEADER_DESC_STYLE_NAME;
                }
                else
                {
                    sortTypeStyleName = BuildReportTool.Window.Settings.LIST_COLUMN_HEADER_ASC_STYLE_NAME;
                }
            }
            if (GUILayout.Button(columnName, sortTypeStyleName, GUILayout.Height(LIST_HEIGHT)) && allowSort)
            {
                buttonPressed = true;
            }


            // ----------------------------------------------------------
            // scrollbar
            if (showScrollbar)
            {
                scollbarPos = GUILayout.BeginScrollView(scollbarPos,
                                                        BuildReportTool.Window.Settings.HIDDEN_SCROLLBAR_STYLE_NAME, "verticalscrollbar");
            }
            else
            {
                scollbarPos = GUILayout.BeginScrollView(scollbarPos,
                                                        BuildReportTool.Window.Settings.HIDDEN_SCROLLBAR_STYLE_NAME, BuildReportTool.Window.Settings.HIDDEN_SCROLLBAR_STYLE_NAME);
            }


            // ----------------------------------------------------------
            // actual contents
            bool useAlt = false;

            BuildReportTool.SizePart b;
            for (int n = sta; n < end; ++n)
            {
                b = assetList[n];

                string styleToUse = useAlt ? BuildReportTool.Window.Settings.LIST_SMALL_ALT_STYLE_NAME : BuildReportTool.Window.Settings.LIST_SMALL_STYLE_NAME;
                if (assetListCollection.InSumSelection(b))
                {
                    styleToUse = BuildReportTool.Window.Settings.LIST_SMALL_SELECTED_NAME;
                }

                GUILayout.Label(dataToDisplay(b), styleToUse, GUILayout.MinWidth(90), GUILayout.Height(LIST_HEIGHT));

                useAlt = !useAlt;
            }


            GUILayout.EndScrollView();

            GUILayout.EndVertical();

            return(buttonPressed);
        }