void DrawQuickButtonsForSuitBodyColliders() { GUIStyle style = new GUIStyle(GUI.skin.button); GUILayoutOption[] options = new GUILayoutOption[0]; float width = EditorGUIUtility.currentViewWidth; GUILayoutOption[] innerOptions = { GUILayout.MaxWidth(width / 3), GUILayout.MinWidth(35) }; GUIContent content = new GUIContent(string.Empty); //Toggle to show a list of all the suits List <SuitBodyCollider> suitObjects = new List <SuitBodyCollider>(); suitObjects = FindObjectsOfType <SuitBodyCollider>().ToList(); if (suitObjects.Count > 0) { if (QuickButtonFoldout) { EditorGUILayout.BeginVertical("box"); } string showQuickButtonName = QuickButtonFoldout ? "Hide" : "Show"; QuickButtonFoldout = GUILayout.Toggle(QuickButtonFoldout, showQuickButtonName + " Existing Suit Body Colliders", style); if (QuickButtonFoldout) { bool horizOpen = false; for (int i = 0; i < suitObjects.Count; i++) { if (i % 3 == 0) { if (horizOpen) { EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); horizOpen = true; } if (suitObjects[i] != null) { content = new GUIContent(suitObjects[i].name, "Quick Navigate to " + suitObjects[i].name); //Create a select button NullSpaceEditorStyles.QuickSelectButton(false, suitObjects[i].gameObject, content, innerOptions); } } if (horizOpen) { EditorGUILayout.EndHorizontal(); } } if (QuickButtonFoldout) { EditorGUILayout.EndVertical(); } } }
void OnGUI() { //Make a button that auto looks things up in children of an object CheckIfInvalidSetup(); //EditorGUILayout.InspectorTitlebar(true, this, true); //GUILayoutOption[] innerOptions = { GUILayout.MaxHeight(45), GUILayout.MinHeight(35) }; GUIStyle title = new GUIStyle(); title.fontSize = 18; GUILayout.Label(" Hardlight Quick Setup Tool", title); bool allowExpandAll = Suits != null && Suits.Count > 1; GUIContent content = new GUIContent("Collapsed All"); bool result = NullSpaceEditorStyles.OperationButton(!allowExpandAll, content); scrollPos = EditorGUILayout.BeginScrollView(scrollPos); for (int i = 0; i < Suits.Count; i++) { Suits[i].OnGUI(); } EditorGUILayout.EndScrollView(); DrawQuickButtonsForSuitBodyColliders(); bool clicked = GUILayout.Button("Add Suit Configuration"); if (clicked) { AddSuitConfiguration(); } //Label describing section //[TODO] }