public override void DrawSection() { repaint = false; using (new GUILayout.HorizontalScope()) { showSection = GUILayout.Toggle(showSection, "", EUIResourceManager.Instance.Skin.button, GUILayout.Height(30), GUILayout.Width(30)); GUILayout.Box(EUIResourceManager.Instance.GetContent("Hierarchy Header"), EUIResourceManager.Instance.Skin.GetStyle("Texture"), GUILayout.MaxWidth(256), GUILayout.MaxHeight(30)); } if (!showSection) { return; } using (new HorizontalCenteredScope()) { GUILayout.Label("Name:"); GUILayout.Space(5); m_parentName = GUILayout.TextField(m_parentName, GUILayout.Width(BlockoutEditorSettings.TwoColumnWidth)); GUILayout.Space(18); if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Create Parent"), GUILayout.Width(BlockoutEditorSettings.ThreeColumnWidth))) { BlockoutStaticFunctions.CreateParentAndForceChild(m_parentName, blockoutHierarchy); } } using (new HorizontalCenteredScope()) { GUILayout.Label("Target: "); if (!Application.isPlaying && Application.isEditor) { m_targetHeirachyBaseObject = EditorGUILayout.ObjectField(m_targetHeirachyBaseObject, typeof(Transform), true) as Transform; if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Hierarchy Selected"), GUILayout.Width(BlockoutEditorSettings.ThreeColumnWidth))) { if (m_targetHeirachyBaseObject != null) { using (new UndoScope("Rehierarchy Selected Objects")) { Selection.transforms.ToList().ForEach(x => Undo.SetTransformParent(x, m_targetHeirachyBaseObject, "")); EditorGUIUtility.PingObject(m_targetHeirachyBaseObject); Selection.activeGameObject = m_targetHeirachyBaseObject.gameObject; } } else { Debug.LogError("BLOCKOUT :: Assign a target object to hierarchy to!"); } } } else { GUILayout.Label("Feature Not available during play mode"); } } GUILayout.Label("Reparent Selection"); using (new HorizontalCenteredScope()) { GUILayout.Space(4); if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Parent Floor"), GUILayout.Width(BlockoutEditorSettings.SixColumnWidth))) { ApplyParentTransformFromSection(Selection.gameObjects, SectionID.Floors); } if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Parent Walls"), GUILayout.Width(BlockoutEditorSettings.SixColumnWidth))) { ApplyParentTransformFromSection(Selection.gameObjects, SectionID.Walls); } if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Parent Trim"), GUILayout.Width(BlockoutEditorSettings.SixColumnWidth))) { ApplyParentTransformFromSection(Selection.gameObjects, SectionID.Trim); } if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Parent Dynamic"), GUILayout.Width(BlockoutEditorSettings.SixColumnWidth))) { ApplyParentTransformFromSection(Selection.gameObjects, SectionID.Dynamic); } if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Parent Foliage"), GUILayout.Width(BlockoutEditorSettings.SixColumnWidth))) { ApplyParentTransformFromSection(Selection.gameObjects, SectionID.Foliage); } if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Parent Particles"), GUILayout.Width(BlockoutEditorSettings.SixColumnWidth))) { ApplyParentTransformFromSection(Selection.gameObjects, SectionID.Particles); } } if (GUILayout.Button(EUIResourceManager.Instance.GetContent("Create Prefab"))) { AutoPrefabSelection.PrefabSelection(); } }