Exemple #1
0
        private void IterateSceneGraph(SceneNodeCLR node, TreeViewItem position)
        {
            TreeViewItem insertedItem = null;

            //Add Scene Node (The global scene node)
            if (position == null)
            {
                TreeViewItem sceneNode = new TreeViewItem();
                sceneNode.Header = node.Name;
                sceneNode.Tag    = node.UUID;
                int sceneNodeIndex = SceneTreeview.Items.Add(sceneNode);

                insertedItem = (TreeViewItem)SceneTreeview.Items[sceneNodeIndex];
            }
            else
            {
                TreeViewItem subItem = new TreeViewItem();
                subItem.Header = node.Name;
                subItem.Tag    = node.UUID;
                int index = position.Items.Add(subItem);

                insertedItem = (TreeViewItem)position.Items[index];
            }

            foreach (SceneNodeCLR subNode in node.Nodes)
            {
                IterateSceneGraph(subNode, insertedItem);
            }
        }
Exemple #2
0
        public void UpdateSceneGraph()
        {
            SceneTreeview.Items.Clear();

            SceneNodeCLR sceneGraph = EngineCore.Instance.SceneEditorInstance.GetSceneGraphCLRTest();

            IterateSceneGraph(sceneGraph, null);
        }