private TreeNode CreateTreeNode(FrameObjectBase fObject) { TreeNode[] nodes2 = treeView1.Nodes.Find(fObject.RefID.ToString(), true); if (nodes2.Length > 0) { return(null); } TreeNode node = ConvertNode(fObject.NodeData); if (fObject.GetType() == typeof(FrameObjectSingleMesh)) { if (fObject.Refs.Count != 0) { node.Nodes.Add(CreateTreeNode("Material", SceneData.FrameResource.FrameMaterials[fObject.Refs["Material"]])); node.Nodes.Add(CreateTreeNode("Geometry", SceneData.FrameResource.FrameGeometries[fObject.Refs["Mesh"]])); } node.ContextMenuStrip = contextMenu; } else if (fObject.GetType() == typeof(FrameObjectModel)) { node.Nodes.Add(CreateTreeNode("Material", SceneData.FrameResource.FrameMaterials[fObject.Refs["Material"]])); node.Nodes.Add(CreateTreeNode("Geometry", SceneData.FrameResource.FrameGeometries[fObject.Refs["Mesh"]])); node.Nodes.Add(CreateTreeNode("BlendInfo", SceneData.FrameResource.FrameBlendInfos[fObject.Refs["BlendInfo"]])); node.Nodes.Add(CreateTreeNode("Skeleton", SceneData.FrameResource.FrameSkeletons[fObject.Refs["Skeleton"]])); node.Nodes.Add(CreateTreeNode("SkeletonHierachy", SceneData.FrameResource.FrameSkeletonHierachies[fObject.Refs["SkeletonHierachy"]])); node.ContextMenuStrip = contextMenu; } node = AddChildren(node, fObject); return(node); }