public void DrawDeselectAllButton(CerberusLogic cerberusLogic) { if (GUI.Button(new Rect(335, Screen.height - 80, 100, 20), CerberusTexts.DeselectAllButton)) { cerberusLogic.DeselectAllButtonLogic(); } }
protected void HandleSorting(CerberusLogic cerberusLogic, int extensionColumnWidth, int nameColumnWidth, int sizeColumnWidth) { ResetSortingVariables(cerberusLogic); DrawSortByType(cerberusLogic, extensionColumnWidth); DrawSortByName(cerberusLogic, nameColumnWidth); DrawSortBySize(cerberusLogic, sizeColumnWidth); }
protected void ResetSortingVariables(CerberusLogic cerberusLogic) { switch (cerberusLogic.CerberusSorting) { case CerberusSorting.None: { typeButtonSufix = string.Empty; nameButtonSufix = string.Empty; sizeButtonSufix = string.Empty; numberOfTypeButtonPresses = 0; numberOfNameButtonPresses = 0; numberOfSizeButtonPresses = 0; } break; case CerberusSorting.Type: { nameButtonSufix = string.Empty; sizeButtonSufix = string.Empty; numberOfNameButtonPresses = 0; numberOfSizeButtonPresses = 0; } break; case CerberusSorting.Name: { typeButtonSufix = string.Empty; sizeButtonSufix = string.Empty; numberOfTypeButtonPresses = 0; numberOfSizeButtonPresses = 0; } break; case CerberusSorting.Size: { typeButtonSufix = string.Empty; nameButtonSufix = string.Empty; numberOfNameButtonPresses = 0; numberOfTypeButtonPresses = 0; } break; default: { LogError(); } break; } }
protected virtual void DisplayChooseDirectoryButton(CerberusLogic cerberusLogic) { if (GUILayout.Button(CerberusTexts.ChooseDirectoryButton, GUILayout.Width(directoryButtonWidth), GUILayout.Height(directoryButtonHeight))) { cerberusLogic.DirectoryPath = EditorUtility.OpenFolderPanel(CerberusTexts.ChooseAssetsDirectoryExplorer, "", ""); if (string.IsNullOrEmpty(cerberusLogic.DirectoryPath)) { return; } cerberusLogic.ResetVariablesAndReInitialize(); } }
protected void DisplayDirectoryPathLabelAndButton(CerberusLogic cerberusLogic) { GUILayout.BeginVertical(); GUILayout.Space(margin * 2); GUILayout.BeginHorizontal(); GUILayout.Space(margin); if (string.IsNullOrEmpty(cerberusLogic.DirectoryPath)) { DisplayChooseAssetsDirectoryLabel(); } else { DisplayChosenDirectoryPathLabel(cerberusLogic.DirectoryPath); } DisplayChooseDirectoryButton(cerberusLogic); GUILayout.EndHorizontal(); GUILayout.EndVertical(); }
protected override void DisplayChooseDirectoryButton(CerberusLogic cerberusLogic) { if (GUILayout.Button(CerberusTexts.ChooseDirectoryButton, GUILayout.Width(directoryButtonWidth), GUILayout.Height(directoryButtonHeight))) { cerberusStructureLogic.DirectoryPath = EditorUtility.OpenFolderPanel(CerberusTexts.ChooseAssetsDirectoryExplorer, "", ""); if (string.IsNullOrEmpty(cerberusLogic.DirectoryPath)) { return; } try { cerberusStructureLogic.ProcessDirectory(cerberusStructureLogic.DirectoryPath); } catch (Exception exception) { Debug.LogError(CerberusTexts.LogErrorText + exception.Message); } } }
public void DrawSortByType(CerberusLogic cerberusLogic, int extensionColumnWidth) { if (extensionColumnWidth == 0) { return; } if (GUILayout.Button(CerberusTexts.Type + typeButtonSufix, GUILayout.Width(extensionColumnWidth), GUILayout.Height(20))) { cerberusLogic.CerberusSorting = CerberusSorting.Type; numberOfTypeButtonPresses++; if (numberOfTypeButtonPresses % 2 == 1) { typeButtonSufix = CerberusTexts.SolidUpArrow; cerberusLogic.Files = cerberusLogic.Files.OrderBy(f => f.Extension).ToList(); } else { typeButtonSufix = CerberusTexts.SolidDownArrow; cerberusLogic.Files = cerberusLogic.Files.OrderByDescending(f => f.Extension).ToList(); } } }
public void DrawSortByName(CerberusLogic cerberusLogic, int nameColumnWidth) { if (nameColumnWidth == 0) { return; } if (GUILayout.Button(CerberusTexts.Name + nameButtonSufix, GUILayout.Width(nameColumnWidth), GUILayout.Height(20))) { cerberusLogic.CerberusSorting = CerberusSorting.Name; numberOfNameButtonPresses++; if (numberOfNameButtonPresses % 2 == 1) { nameButtonSufix = CerberusTexts.SolidUpArrow; cerberusLogic.Files = cerberusLogic.Files.OrderBy(f => f.Name).ToList(); } else { nameButtonSufix = CerberusTexts.SolidDownArrow; cerberusLogic.Files = cerberusLogic.Files.OrderByDescending(f => f.Name).ToList(); } } }