private void LoadMapNode(TreeNode parent, MapObject obj) { var text = GetNodeText(obj); var node = new TreeNode(obj.GetType().Name + text) { Tag = obj }; if (obj is World) { var w = (World)obj; node.Nodes.AddRange(GetEntityNodes(w.EntityData).ToArray()); } else if (obj is Entity) { var e = (Entity)obj; node.Nodes.AddRange(GetEntityNodes(e.EntityData).ToArray()); } else if (obj is Solid) { var s = (Solid)obj; node.Nodes.AddRange(GetFaceNodes(s.Faces).ToArray()); } foreach (var mo in obj.Children) { LoadMapNode(node, mo); } if (parent == null) MapTree.Nodes.Add(node); else parent.Nodes.Add(node); }
private void LoadMapNode(TreeNode parent, MapObject obj) { var node = new TreeNode(obj.GetType().Name); if (obj is World) { var w = (World) obj; node.Nodes.Add(GetEntityNode(w.EntityData)); } else if (obj is Entity) { var e = (Entity) obj; node.Nodes.Add(GetEntityNode(e.EntityData)); } else if (obj is Solid) { var s = (Solid) obj; node.Nodes.Add(GetFacesNode(s.Faces)); } foreach (var mo in obj.GetChildren()) { LoadMapNode(node, mo); } if (parent == null) treeMap.Nodes.Add(node); else parent.Nodes.Add(node); }