Beispiel #1
0
        /// <inheritdoc />
        public override void OnInit()
        {
            // Setup content root node
            _root = new RootContentTreeNode
            {
                ChildrenIndent = 0
            };
            _root.Expand(true);

            foreach (var project in Editor.ContentDatabase.Projects)
            {
                _root.AddChild(project);
            }

            Editor.ContentDatabase.Game?.Expand(true);
            _tree.Margin = new Margin(0.0f, 0.0f, -16.0f, 2.0f); // Hide root node
            _tree.AddChild(_root);
            _root.SortChildrenRecursive();

            // Setup navigation
            _navigationUnlocked = true;
            _tree.Select(_root);
            NavigationClearHistory();

            // Update UI layout
            _isLayoutLocked = false;
            PerformLayout();

            // Load last viewed folder
            if (Editor.ProjectCache.TryGetCustomData(ProjectDataLastViewedFolder, out var lastViewedFolder))
            {
                if (Editor.ContentDatabase.Find(lastViewedFolder) is ContentFolder folder)
                {
                    _tree.Select(folder.Node);
                }
            }
        }
Beispiel #2
0
 private void AddFolder2Root(MainContentTreeNode node)
 {
     // Add to the root
     _root.AddChild(node);
 }