static void OnHierarchyWindowItemOnGUI(int instanceID, Rect selectionRect) { if (instanceID == Selection.activeInstanceID) { if (menuItemClicked) { menuItemClicked = false; GameObjectGroupingTool.RequestGroupSelection(); } } }
public override void OnGUI(Rect rect) { // Add window padding GUILayout.BeginHorizontal(); GUILayout.Space(windowPaddingInPixel); GUILayout.BeginVertical(); GUILayout.Space(windowPaddingInPixel); // Draw header GUILayout.Label("GameObject Group Options", EditorStyles.boldLabel); GUILayout.Space(rowPaddingInPixel); // Draw name field GUILayout.BeginHorizontal(); GUILayout.Label("Group name"); GUI.SetNextControlName("Group name"); currentGroupName = EditorGUILayout.TextField(currentGroupName); GUILayout.EndHorizontal(); GUILayout.Space(rowPaddingInPixel); // Draw position selection GUILayout.BeginHorizontal(); GUILayout.Label("Group Position"); GUI.SetNextControlName("Group Position"); groupPosition = (GroupPosition)EditorGUILayout.EnumPopup(groupPosition); GUILayout.EndHorizontal(); GUILayout.Space(rowPaddingInPixel); // Draw group button and auto group on return. if (GUILayout.Button("Group") || (Event.current.isKey && Event.current.keyCode == KeyCode.Return)) { GameObjectGroupingTool.GroupSelection(groupPosition, currentGroupName); editorWindow.Close(); } // End window padding GUILayout.Space(windowPaddingInPixel); GUILayout.EndVertical(); GUILayout.Space(windowPaddingInPixel); GUILayout.EndHorizontal(); if (focused == false) { GUI.FocusControl("Group name"); focused = true; } }