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; } }
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); }