- Home /
Custom Window with Hierarchy
I am building a custom window, and I would like to mimic Unity's Hierarchy and add it to my window.
Here is what I have so far, what it doesn't do that I want is to group child and parent object together just like in Unity's editor. How can I do that?
void OnGUI() {
EditorGUILayout.BeginHorizontal();
{
scroll = EditorGUILayout.BeginScrollView(scroll, GUILayout.Width(200), GUILayout.Height(500));
{
GameObject[] gameObjects = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[];
foreach (GameObject go in gameObjects) {
EditorGUILayout.Foldout(false, go.name);
}
}
EditorGUILayout.EndScrollView();
}
EditorGUILayout.EndHorizontal();
}
Answer by Ensutee · Nov 21, 2014 at 02:51 PM
I'm not the best of programmers, but my initial thought are something like this:
You can get all the children of a gameObject by iterating over Transforms in it's transform. e.g.
foreach (Transform t in go.transform) {
//this will give you the transforms of all immidiate children of 'go'
}
using this you could probably do a really big loop upon drawing your GUI, going through all the objects one by one and sorting them to their parent.
if you locate the top level gameObjects in the hierarchy you could probably do some smart iteration over just the top level objects and then recusively draw all thier children one by one.
Your answer
Follow this Question
Related Questions
How to make a custom inspector to preview tile? 0 Answers
How can i create a button in a custom class with UnityEditor using custom editor? 0 Answers
Make a custom inspector that shows a group of variables in form of list 2 Answers
How to handle Serializable classes in a CustomEditor? 0 Answers
Custom inspector drop down 0 Answers