Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Display Scene hierarchy in TreeView.
- /// </summary>
- public void SceneHierarchy2Tree()
- {
- var objects = UnityEngine.SceneManagement.SceneManager.GetActiveScene().GetRootGameObjects();
- HierarchyNodes.BeginUpdate();
- HierarchyNodes.Clear();
- foreach (var go in objects)
- {
- HierarchyNodes.Add(Transform2Node(go.transform));
- }
- HierarchyNodes.EndUpdate();
- Tree.Nodes = HierarchyNodes;
- }
- /// <summary>
- /// Create node from transform.
- /// </summary>
- /// <param name="transform">Transform.</param>
- /// <returns>Node.</returns>
- protected TreeNode<TreeViewItem> Transform2Node(Transform transform)
- {
- var item = new TreeViewItem(transform.name);
- var nodes = new ObservableList<TreeNode<TreeViewItem>>();
- foreach (Transform child in transform)
- {
- nodes.Add(Transform2Node(child));
- }
- var node = new TreeNode<TreeViewItem>(item, nodes, nodeIsExpanded: true, nodeIsVisible: transform.gameObject.activeSelf);
- return node;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement