Esempio n. 1
0
        private void MenuItem_LoadFile(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "FBX files (*.fbx)|*.fbx";
            if (openFileDialog.ShowDialog() == true)
            {
                var scene = fbxManager.CreateSceneFromFile(openFileDialog.FileName);

                if (nodeHierarchy != null)
                {
                    Window window = nodeHierarchy.Parent as Window;
                    window.Close();
                }

                nodeHierarchy = new NodeHierarchy();
                nodeHierarchy.SetNode(scene.GetRootNode());

                Window hierarchyWindow = new Window()
                {
                    Title       = "Node Hierarchy",
                    WindowStyle = WindowStyle.ToolWindow,
                    Content     = nodeHierarchy
                };

                hierarchyWindow.Show();
                hierarchyWindow.Closed += (obj, arg) =>
                {
                    nodeHierarchy = null;
                };

                sceneViewer.ShowScene(nodeHierarchy, scene);
            }
        }
Esempio n. 2
0
        public DialogResult ShowDialog(GameDefinition game)
        {
            //TODO: Error checking.
            treeView.Reset();

            DefaultState defaultState             = new DefaultState(Resources.cd16);
            TagArchiveObjectViewNodeSource source = new TagArchiveObjectViewNodeSource("Extracted", game, Core.Prometheus.Instance.DocumentManager,
                                                                                       DisplayItems.AllExtractedItems, defaultState);

            source.LoadDependencies = true;
            NodeHierarchy main = new NodeHierarchy(game.Name + "Tag Library", Resources.folder16);

            main.NodeSources.Add(source);

            treeView.AddNodeHierarchy(main);
            treeView.Initialize();
            treeView.SelectedNode = null;

            return(base.ShowDialog());
        }
Esempio n. 3
0
        public void Initialize(ProjectManager projectManager)
        {
            this.projectManager = projectManager;
            this.projectManager.Project.TemplateReverting += Project_TemplateReverting;
            treeView.Reset();

            // Initialize the NodeHierarchies.
            treeView.TreeEmptyText = "";
            treeView.TreeEmptyIcon = null;

            NodeHierarchy main = new NodeHierarchy(projectManager.Project.MapName, Resources.cabinet16);

            main.NodeSources.Add(CreateProjectNodeSource());

            // Add the node hierarchies to the TreeView.
            treeView.AddNodeHierarchy(main);

            // And... this one shouldn't need any explaination...
            treeView.Initialize();

            treeView.LabelEdit = true;
        }
Esempio n. 4
0
 public void InitializeHierarchy(NodeHierarchy hierarchy)
 {
     this._hierarchy = hierarchy;
     AfterHierarchyInitalized();
 }
Esempio n. 5
0
        protected void Initialize(GameDefinition game)
        {
            Cursor previousCursor = Cursor;

            try
            {
                if (!silentGameSelect)
                {
                    Cursor = Cursors.WaitCursor;
                    Refresh();
                    curtain.Show(this);
                }

                currentGame = game;
                treeView.Reset();
                extractionQueue.Clear();

                UpdateExtractionButton();

                if (game.GlobalTagLibrary == null)
                {
                    treeView.TreeEmptyText      = "The Tag Library for " + game.Name + " was not found.";
                    treeView.TreeEmptyTextColor = Color.Red;
                    treeView.TreeEmptyIcon      = Resources.error64;
                    treeView.Reset();
                }
                else
                {
                    // Figure out which method we will use to create the node sources, based on our current View.
                    if (View == TagView.Tags)
                    {
                        // Initialize the NodeHierarchies.
                        treeView.TreeEmptyText = "";
                        treeView.TreeEmptyIcon = null;

                        NodeHierarchy main = new NodeHierarchy(game.Name + " Tag Library", Resources.cabinet16);
                        if (DisplayMode == LibraryDisplayMode.Split)
                        {
                            main.NodeSources.Add(SetupExtractedSource());

                            NodeHierarchy unextracted       = new NodeHierarchy("Unextracted Tags", Resources.cd16);
                            NodeSource    unextractedSource = SetupUnextractedSource();
                            if (unextractedSource.ContainsNodes)
                            {
                                unextracted.NodeSources.Add(unextractedSource);
                            }

                            treeView.AddNodeHierarchy(main);
                            treeView.AddNodeHierarchy(unextracted);
                        }
                        else
                        {
                            NodeSource mergedSource = SetupMergedSource();
                            if (mergedSource.ContainsNodes)
                            {
                                main.NodeSources.Add(mergedSource);
                            }
                            treeView.AddNodeHierarchy(main);
                        }
                    }
                    else
                    {
                        // Initialize the NodeHierarchies.
                        treeView.TreeEmptyText = "";
                        treeView.TreeEmptyIcon = null;

                        NodeHierarchy main = new NodeHierarchy(game.Name + " Tag Library", Resources.cabinet16);
                        if (DisplayMode == LibraryDisplayMode.Split)
                        {
                            main.NodeSources.Add(SetupExtractedObjectViewSource());
                            NodeHierarchy unextracted = new NodeHierarchy("Unextracted Objects", Resources.cd16);
                            unextracted.NodeSources.Add(SetupUnextractedObjectViewSource());
                            treeView.AddNodeHierarchy(main);
                            treeView.AddNodeHierarchy(unextracted);
                        }
                        else
                        {
                            main.NodeSources.Add(SetupExtractedObjectViewSource());
                            main.NodeSources.Add(SetupUnextractedObjectViewSource());
                            treeView.AddNodeHierarchy(main);
                        }
                    }
                    treeView.Initialize();
                }

                treeView.SelectedNode = null;
            }
            finally
            {
                if (!silentGameSelect)
                {
                    curtain.Fade();
                    Cursor = previousCursor;
                }
            }
        }