public static void AddAsFloatingNode(this TreeHierarchyAsset tree, TreeNodeAsset newNode) { Debug.Assert(newNode._hierarchy == null, nodeInHierarchyMsg); var hierarchyNode = CreateHierarchyNodeAndLink(tree, newNode); hierarchyNode._tree = tree; tree._floaters.Add(hierarchyNode); }
public static void SetupRoot(this TreeHierarchyAsset tree, TreeNodeAsset root) { Debug.Assert(tree._root == null); var rootHierarchyNode = CreateHierarchyNodeAndLink(tree, root); tree._root = rootHierarchyNode; rootHierarchyNode._tree = tree; }
private static TreeHierarchyNodeAsset CreateHierarchyNodeAndLink(this TreeHierarchyAsset tree, TreeNodeAsset node) { Debug.Assert(node._hierarchy == null, nodeInHierarchyMsg); var hieNode = CreateHierarchyNodeAsset(tree); hieNode.name = string.Format("_Node ({0})", node.name); node._hierarchy = hieNode; hieNode._content = node; return(hieNode); }