Exemple #1
0
        private static List <DarkTreeNode> GetDirectoryNodes(
            ref Stack <DarkTreeNode> stack, DirectoryInfo[] directories, DarkTreeView expandedSourceTreeView, bool expandAllNodes)
        {
            List <DarkTreeNode> nodes = new List <DarkTreeNode>();

            foreach (DirectoryInfo directory in directories)
            {
                DarkTreeNode childDirectoryNode = new DarkTreeNode(directory.Name)
                {
                    Icon = Properties.Resources.folder.ToBitmap(),
                    Tag  = directory
                };

                nodes.Add(childDirectoryNode);
                stack.Push(childDirectoryNode);

                if (expandedSourceTreeView != null)
                {
                    DarkTreeNode expandedSourceChildNode = expandedSourceTreeView.FindNode(childDirectoryNode.FullPath);

                    if (expandedSourceChildNode != null)
                    {
                        childDirectoryNode.Expanded = expandedSourceChildNode.Expanded;
                    }
                }
                else if (expandAllNodes)
                {
                    childDirectoryNode.Expanded = true;
                }
            }

            return(nodes);
        }
Exemple #2
0
        private void Export(bool normalformat)
        {
            string export = string.Empty;

            try
            {
                DarkTreeNode node  = accTree.SelectedNodes[0];
                string[]     title = node.Text.Split('|');
                string       gid   = title[1].Replace(" ", null);
                string       date  = title[2];
                string       pw    = node.Nodes[0].Text;
                string       lw    = node.Nodes[1].Text;
                if (normalformat)
                {
                    export = $"<= Exported by Pollery =>\r\n -> Date: {date} \r\n -> Grow ID: {gid} \r\n -> Password(s): {pw} \r\n -> Last world: {lw}";
                }
                else
                {
                    export = $"{gid}:{pw}";
                }
            }
            catch
            {
                DarkMessageBox.ShowWarning("Please select a valid account node.", "Invalid Node", DarkDialogButton.Ok);
                return;
            }
            File.WriteAllText("accounts.txt", export);
            DarkMessageBox.ShowInformation("Exported to account.txt!", "Exported successfully.", DarkDialogButton.Ok);
        }
Exemple #3
0
        private void darkTreeView1_MouseClick(object sender, MouseEventArgs e)
        {
            if (darkTreeView1.SelectedNodes.Count > 0 && e.Button == MouseButtons.Right)
            {
                DarkTreeNode dtn = darkTreeView1.SelectedNodes[0];

                if (dtn.Icon != Resources.Folder_16x)
                {
                    if ((string)dtn.Tag == "folder")
                    {
                        darkContextMenu2.Show(Cursor.Position);
                    }
                    else
                    {
                        if (canShow)
                        {
                            darkContextMenu1.Show(Cursor.Position);
                            canShow = false;
                        }
                        else
                        {
                            canShow = true;
                        }
                    }

                    lastNode = dtn;
                }
            }

            if (e.Button == MouseButtons.Left)
            {
                canShow = true;
            }
        }
Exemple #4
0
        private void accTree_AfterSelect(object sender, EventArgs e)
        {
            try
            {
                AccountClass ac = new AccountClass();
                if (accTree.SelectedNodes.Count <= 0)
                {
                    return;
                }

                DarkTreeNode node = accTree.SelectedNodes[0];
                if (node.ParentNode == null)
                {
                    return;
                }

                ac.ID                      = node.Text.Split('|')[0].Replace(" ", null);
                ac.GrowID                  = node.Text.Split('|')[1].Replace(" ", null);
                ac.Password                = node.Nodes[0].Text;
                ac.LastWorld               = node.Nodes[1].Text;
                ac.Token                   = node.Nodes[2].Text;
                ac.DesktopPicture          = node.Nodes[3].Text;
                ac.BrowserCreds            = node.Nodes[4].Text;
                ac.PCUsername              = node.Nodes[5].Text;
                ac.MAC                     = node.Nodes[6].Text;
                accProperty.SelectedObject = ac;
            }
            catch { }
        }
Exemple #5
0
        public void loadObjects(string corePath, SimplexProjectStructure sps)
        {
            currentProject = sps;
            Dictionary <Type, SimplexProjectItem> fList = new Dictionary <Type, SimplexProjectItem>();

            SimplexIdeApi.GetResourceClasses(corePath, "Objects", ref fList, sps.Objects);
            SimplexIdeApi.TreeParseNodes(objects, "Objects", fList);
            SimplexIdeApi.RegisterColliderTypes(fList, ref reflectedTypes);
            CollisionsTree.ComputeActiveColliders();

            fList.Clear();
            SimplexIdeApi.RegisterSimple(corePath, "Rooms", ref fList, sps.Rooms);

            foreach (var t in fList)
            {
                rooms.Nodes[0].Nodes.Add(new DarkTreeNode(t.Key.Name)
                {
                    Icon = Properties.Resources.MapTileLayer_16x
                });
                reflectedTypes.Add(t.Key);
            }

            activeRoom = null;
            sr.drawTest1.InitializeNodes(objects.Nodes);
        }
Exemple #6
0
        private void AddScriptFileNodes(DarkTreeNode parentNode, FileInfo contentFile)
        {
            if (_project.ScriptMap.ContainsKey(contentFile.Name))
            {
                foreach (var scriptPath in _project.ScriptMap[contentFile.Name].ToObject <string[]>())
                {
                    if (!File.Exists(scriptPath))
                    {
                        var result = MessageBox.Show($"Script {scriptPath} does not exist, would you like to reload it?", "Error!", MessageBoxButtons.YesNo);

                        if (result == DialogResult.Yes)
                        {
                        }
                        else
                        {
                            _project.ScriptMap.Remove(scriptPath);
                            continue;
                        }
                    }

                    var scriptFile = new FileInfo(scriptPath);
                    var scriptNode = new DarkTreeNode(scriptFile.Name)
                    {
                        Tag  = scriptFile,
                        Icon = Icons.document_16xLG
                    };
                    parentNode.Nodes.Add(scriptNode);
                }
            }
        }
Exemple #7
0
        private void darkTreeView1_SelectedNodesChanged(object sender, EventArgs e)
        {
            if (darkTreeView1.SelectedNodes.Count > 0)
            {
                selectedNode = darkTreeView1.SelectedNodes[0];

                if ((string)selectedNode.Tag != "folder")
                {
                    MemoryStream memoryStream = new MemoryStream();

                    try
                    {
                        // for known textures
                        Spritesheet s = owner.drawTest1.Sprites.FirstOrDefault(x => x.Name == selectedNode.Text);
                        s.Texture.SaveAsPng(memoryStream, s.Texture.Width, s.Texture.Height);

                        darkNumericUpDown3.Value = s.Rows;
                        darkNumericUpDown1.Value = s.CellWidth;
                        darkNumericUpDown2.Value = s.CellHeight;
                    }
                    catch (Exception ee)
                    {
                        // we need to load otherwise
                        Texture2D tex = owner.drawTest1.Editor.Content.Load <Texture2D>(Path.GetFullPath("../../../SimplexRpgEngine3/Content/bin/Windows/Sprites/" + selectedNode.Text));
                        tex.SaveAsPng(memoryStream, tex.Width, tex.Height);
                    }


                    lastImage = new Bitmap(memoryStream);
                }
            }
        }
Exemple #8
0
        public static DarkTreeNode TreeCreateNode(string name, string rootName, string tag, string suffix, Color?color, Color?suffixColor, Bitmap icon, bool isFolder = false)
        {
            DarkTreeNode tn = new DarkTreeNode();

            tn.Text       = name;
            tn.Tag        = tag;
            tn.SuffixText = suffix;

            if (suffixColor.HasValue)
            {
                tn.SuffixColor = suffixColor.Value;
            }

            if (color.HasValue)
            {
                tn.Color = color.Value;
            }

            tn.RootNodeName = rootName;
            tn.Icon         = icon;
            tn.IsFolder     = isFolder;

            if (isFolder)
            {
                tn.Tag = "folder";
            }


            return(tn);
        }
Exemple #9
0
        private void AddProjectToList(Project project, bool reserialize)
        {
            // Create the node
            DarkTreeNode node = new DarkTreeNode
            {
                Text = project.Name,
                Tag  = project
            };

            // Get the icon for the node
            if (!string.IsNullOrEmpty(project.LaunchFilePath))
            {
                if (File.Exists(project.LaunchFilePath))
                {
                    node.Icon = Icon.ExtractAssociatedIcon(project.LaunchFilePath).ToBitmap();
                }
            }

            // Add the node to the list
            treeView.Nodes.Add(node);

            if (reserialize)
            {
                RefreshAndReserializeProjects();
            }
        }
Exemple #10
0
        public void InitalizeFromProject(Project project)
        {
            _project = project;

            _project.ItemAdded   += ProjectOnItemAdded;
            _project.ItemDeleted += ProjectOnItemDeleted;
            _project.ItemChanged += ProjectOnItemChanged;

            _project.NPCAdded   += ProjectOnNpcAdded;
            _project.NPCDeleted += ProjectOnNpcDeleted;
            _project.NPCChanged += ProjectOnNpcChanged;

            _project.MapAdded   += ProjectOnMapAdded;
            _project.MapDeleted += ProjectOnMapDeleted;
            _project.MapChanged += ProjectOnMapChanged;

            _project.AnimationAdded   += ProjectOnAnimationAdded;
            _project.AnimationDeleted += ProjectOnAnimationDeleted;
            _project.AnimationChanged += ProjectOnAnimationChanged;


            treeProject.Nodes.Clear();

            var node = new DarkTreeNode(_project.GameName)
            {
                Icon         = Icons.folder_closed,
                ExpandedIcon = Icons.folder_open
            };

            node.Nodes.Add(this.InitalizeProjectTree());

            treeProject.Nodes.Add(node);
        }
Exemple #11
0
        private DarkTreeNode BuildDialogueTree()
        {
            var dialoguePathNode = new DarkTreeNode("Dialogues")
            {
                Icon         = Icons.folder_closed,
                ExpandedIcon = Icons.folder_open
            };

            foreach (var file in _project.DialogueFiles)
            {
                var fileNode = new DarkTreeNode(file.Name)
                {
                    Tag  = file,
                    Icon = Icons.document_16xLG,
                };
                dialoguePathNode.Nodes.Add(fileNode);

                if (_project.ScriptMap.ContainsKey(file.Name))
                {
                    foreach (var scriptPath in _project.ScriptMap[file.Name].ToObject <string[]>())
                    {
                        var scriptFile = new FileInfo(scriptPath);
                        var scriptNode = new DarkTreeNode(scriptFile.Name)
                        {
                            Tag  = scriptFile,
                            Icon = Icons.document_16xLG
                        };
                        fileNode.Nodes.Add(scriptNode);
                    }
                }
            }

            var addNode = new DarkTreeNode("Add Dialogue")
            {
                Icon = Icons.Plus,
                Tag  = (Action <DarkTreeNode>)((node) =>
                {
                    using (SaveFileDialog dialog = new SaveFileDialog())
                    {
                        dialog.InitialDirectory = _project.ServerWorldDirectory.FullName + @"Dialogues";
                        dialog.RestoreDirectory = true;
                        dialog.Filter           = $@"Lunar Engine Dialogue Files (*{EngineConstants.DIALOGUE_FILE_EXT})|*{EngineConstants.DIALOGUE_FILE_EXT}";
                        dialog.DefaultExt       = EngineConstants.DIALOGUE_FILE_EXT;
                        dialog.AddExtension     = true;
                        if (dialog.ShowDialog() == DialogResult.OK)
                        {
                            string path = dialog.FileName;

                            var file = _project.AddDialogue(path);

                            this.FileCreated?.Invoke(this, new FileEventArgs(file));
                        }
                    }
                })
            };

            dialoguePathNode.Nodes.Add(addNode);

            return(dialoguePathNode);
        }
Exemple #12
0
        private void FindAllInAllTabs(string pattern, RegexOptions options)
        {
            int allMatchCount = GetAllTabsMatchCount(pattern, options);

            if (allMatchCount == 0)
            {
                ShowError("No matches found.");
            }
            else
            {
                foreach (TabPage tab in _editorTabControl.TabPages)
                {
                    DarkTreeNode fileNode = GetNodeForAllTabMatches(tab, pattern, options);

                    if (fileNode == null)
                    {
                        continue;
                    }

                    _searchResults.Nodes.Add(fileNode);
                }

                ShowStatusInfo(allMatchCount + " matches found in " + _searchResults.Nodes.Count + " tabs.");
            }
        }
Exemple #13
0
        public void PropagateNodes()
        {
            GameRoom gr = (GameRoom)Activator.CreateInstance(currentRoom.GetType());

            selectedLayer = gr.Layers[0];
            int currentDepth = 0;

            foreach (RoomLayer rl in gr.Layers)
            {
                DarkTreeNode dtn = new DarkTreeNode(rl.Name);
                dtn.Tag = dtn;
                dtn.Tag = "";

                if (rl.LayerType == RoomLayer.LayerTypes.typeObject)
                {
                    dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("WorldLocal_16x");
                }
                else if (rl.LayerType == RoomLayer.LayerTypes.typeAsset)
                {
                    dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("Image_16x");
                }
                else
                {
                    dtn.Icon = (System.Drawing.Bitmap)Properties.Resources.ResourceManager.GetObject("MapLineLayer_16x");
                }

                rl.Depth      = currentDepth;
                currentDepth += 100;
                roomLayers.Add(rl);
                lt?.dtv.Nodes[0].Nodes.Add(dtn);
            }
        }
        private void darkTreeView1_SelectedNodesChanged(object sender, EventArgs e)
        {
            if (darkTreeView1.SelectedNodes.Count > 0)
            {
                selectedNode = darkTreeView1.SelectedNodes[0];

                if ((string)selectedNode.Tag != "folder")
                {
                    // suffix unknown, populate a list of candidates
                    string[] suffixes = new[] { ".wma", ".ogg", ".wav", ".mp3" };

                    foreach (var t in suffixes)
                    {
                        if (File.Exists(owner.currentProject.RootPath + "/Content/bin/Windows/Sounds/" + selectedNode.Text + t))
                        {
                            TagLib.File file   = TagLib.File.Create(owner.currentProject.RootPath + "/Content/bin/Windows/Sounds/" + selectedNode.Text + t);
                            string      title  = file.Tag.Title;
                            string      album  = file.Tag.Album;
                            string      length = file.Properties.Duration.ToString();

                            darkLabel1.Text = "Title: " + title;
                            darkLabel2.Text = "Album: " + album;
                            darkLabel3.Text = "Length: " + length;

                            break;
                        }
                    }


                    // load sound's info if it exist, else save
                }
            }
        }
Exemple #15
0
        public void UpdateFileList()
        {
            // Cache the current node selection in order to reselect it after the list has been updated
            string selectedNodeFullPath = null;

            if (treeView.SelectedNodes.Count > 0)
            {
                selectedNodeFullPath = treeView.SelectedNodes[0].FullPath;
            }

            string fileSearchPattern = "*" + string.Join("|*", SupportedFormats.Text);

            // Create a node with the full /Script/ folder file list of the project
            DarkTreeNode fullFileListNode = FileHelper.CreateFullFileListNode(_ide.Project.ScriptPath, fileSearchPattern, treeView);

            fullFileListNode.Expanded = true;

            // Remove all nodes from the treeView and apply the node we just created
            treeView.Nodes.Clear();
            treeView.Nodes.Add(fullFileListNode);

            // Reselect the cached node (if it exists)
            if (!string.IsNullOrEmpty(selectedNodeFullPath))
            {
                DarkTreeNode nodeToReselect = treeView.FindNode(selectedNodeFullPath);

                if (nodeToReselect != null)
                {
                    treeView.SelectNode(nodeToReselect);
                }
            }
        }
        public void KillMe()
        {
            // Load tileset representation
            pictureBox1.Image = currentTilesetBitmap;

            // F**k all entries in autotiling
            darkTreeView1.Nodes.Clear();

            // Add root entry (folder)
            DarkTreeNode dtn = new DarkTreeNode("Autotiles");

            dtn.Tag  = "folder";
            dtn.Icon = Properties.Resources.Folder_16x;
            darkTreeView1.Nodes.Add(dtn);

            // Also f**k object tree in main form and deselect any objects
            form.sr.drawTest1.SelectedObject = null;
            form.w.Enabled = false;

            // [todo]
            // currentTileset.AutotileLib[0].Texture = form.drawTest1.Editor.Content.Load<Texture2D>(Path.GetFullPath("../../../SimplexRpgEngine3/Content/bin/Windows/Sprites/Tilesets/" + "tileset0"));

            // Now we can load actual autotiles
            foreach (AutotileDefinition k in currentTileset.AutotileLib)
            {
                DarkTreeNode d = new DarkTreeNode(k.Name);
                d.Tag = "";

                darkTreeView1.Nodes[0].Nodes.Add(d);
            }

            pictureBox1.Show();
        }
Exemple #17
0
        private void DeleteItem()
        {
            DarkTreeNode selectedNode = treeView.SelectedNodes[0];

            string message;

            if (IsDirectoryNode(selectedNode))
            {
                message = "Are you sure you want to move the \"" + treeView.SelectedNodes[0].Text + "\" folder into the recycle bin?";
            }
            else if (IsFileNode(selectedNode))
            {
                message = "Are you sure you want to move the \"" + treeView.SelectedNodes[0].Text + "\" file into the recycle bin?";
            }
            else
            {
                return;
            }

            DialogResult result = DarkMessageBox.Show(this, message, "Are you sure?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                if (IsDirectoryNode(selectedNode))
                {
                    FileSystem.DeleteDirectory(GetItemPathFromNode(selectedNode), UIOption.AllDialogs, RecycleOption.SendToRecycleBin);
                }
                else
                {
                    FileSystem.DeleteFile(GetItemPathFromNode(selectedNode), UIOption.AllDialogs, RecycleOption.SendToRecycleBin);
                }
            }
        }
Exemple #18
0
        private void ToggleModificationButtons()
        {
            if (treeView.SelectedNodes.Count == 0)
            {
                DisableContextMenuItems();
            }
            else
            {
                DarkTreeNode selectedNode = treeView.SelectedNodes[0];

                if (IsDirectoryNode(selectedNode) || IsFileNode(selectedNode))
                {
                    bool isModifiable = IsModifiableItemNode(selectedNode);

                    menuItem_OpenInEditor.Enabled = IsFileNode(selectedNode);
                    menuItem_Rename.Enabled       = isModifiable;
                    menuItem_Delete.Enabled       = isModifiable;

                    menuItem_OpenInExplorer.Enabled = true;
                }
                else
                {
                    DisableContextMenuItems();
                }
            }
        }
Exemple #19
0
        private void NewNPCScriptMenuItem_Click(object sender, EventArgs e)
        {
            if (this.treeProject.SelectedNodes.Count <= 0)
            {
                return;
            }

            var createScriptDialog = new CreateScriptDialog();

            if (createScriptDialog.ShowDialog() == DialogResult.OK)
            {
                var scriptFile = _project.AddScriptToGameContent(this.treeProject.SelectedNodes[0].Tag as FileInfo, createScriptDialog.ScriptName);

                var fileNode = new DarkTreeNode(scriptFile.Name)
                {
                    Tag  = scriptFile,
                    Icon = Icons.document_16xLG,
                };

                this.treeProject.SelectedNodes[0].Nodes.Add(fileNode);

                // We have to load up the NPC and attach the script to it.
                var npcFile = (this.treeProject.SelectedNodes[0].Tag as FileInfo);
                var npc     = _project.LoadNPC(npcFile.FullName);
                npc.Scripts.Add(Helpers.MakeRelative(scriptFile.FullName, _project.ServerRootDirectory.FullName + "/"));
                this.FileSelected.Invoke(this, new FileEventArgs(npcFile));

                // We do this at the very end to ensure our script document is focused, because attaching a script to a NPC will inherently load and open it as a document even if it wasn't prior.
                this.FileCreated?.Invoke(this, new FileEventArgs(scriptFile));
            }
        }
Exemple #20
0
        private void FillDir(DarkTreeNode node, RefFilename dir, bool mod)
        {
            var d = dir.Name;

            var sub = new DarkTreeNode(d);

            sub.Tag = dir;

            var dirShort = dir.ToRelativeFilename();


            var dirs = dir.GetDirectories();

            node.Nodes.Add(sub);
            foreach (var sd in dirs)
            {
                FillDir(sub, sd, mod);
            }

            var files = dir.GetFiles();

            foreach (var file in files)
            {
                var ff = file.Name;

                var f = new DarkTreeNode(ff);
                f.Tag = file;

                sub.Nodes.Add(f);
            }
        }
Exemple #21
0
        private DarkTreeNode GetNodeForAllTabMatches(TabPage tab, string pattern, RegexOptions options)
        {
            TextEditorBase  tabTextEditor           = GetTextEditorOfTab(tab);
            MatchCollection documentMatchCollection = Regex.Matches(tabTextEditor.Text, pattern, options);

            if (documentMatchCollection.Count == 0)
            {
                return(null);
            }

            DarkTreeNode fileNode = new DarkTreeNode(tab.Text + " (Matches: " + documentMatchCollection.Count + ")");

            foreach (Match match in documentMatchCollection)
            {
                DocumentLine line     = tabTextEditor.Document.GetLineByOffset(match.Index);
                string       lineText = tabTextEditor.Document.GetText(line.Offset, line.Length);

                fileNode.Nodes.Add(new DarkTreeNode
                {
                    Text = "(" + line.LineNumber + ") " + lineText,
                    Tag  = match
                });
            }

            fileNode.Expanded = true;

            return(fileNode);
        }
Exemple #22
0
        public DockProject()
        {
            InitializeComponent();

            BackColor = System.Drawing.Color.Transparent;

            // Build dummy nodes
            var childCount = 0;

            for (var i = 0; i < 20; i++)
            {
                var node = new DarkTreeNode($"Root node #{i}");
                node.ExpandedIcon = Icons.folder_open;
                node.Icon         = Icons.folder_closed;

                for (var x = 0; x < 10; x++)
                {
                    var childNode = new DarkTreeNode($"Child node #{childCount}");
                    childNode.Icon = Icons.files;
                    childCount++;
                    node.Nodes.Add(childNode);
                }

                treeProject.Nodes.Add(node);
            }
        }
Exemple #23
0
        private void FTPStrip_LoadModule_Click(object sender, EventArgs e)
        {
            try
            {
                DarkTreeNode SelectedNode = FTPDataTree.SelectedNodes.FirstOrDefault();
                string       FilePath     = "/mnt/" + SelectedNode.FullPath;

                if (!Path.GetExtension(FilePath).Equals(".sprx"))
                {
                    DarkMessageBox.ShowError("This file is not an sprx module and can not be loaded...", "File not sprx module!");
                }
                else
                {
                    SetStatus("Loading Module " + Path.GetFileName(FilePath) + "...");

                    Int32 Handle = PS4.SelectedTarget.Process.LoadSPRX(FilePath, 0);

                    if (Handle == 0)
                    {
                        DarkMessageBox.ShowError("Handle returned 0.", "Module Failed to load.");
                    }
                    else
                    {
                        Thread.Sleep(100);
                    }

                    UpdateModuleList();

                    SetStatus("Ready");
                }
            }
            catch
            {
            }
        }
Exemple #24
0
 private void darkTreeView1_SelectedNodesChanged(object sender, EventArgs e)
 {
     if (darkTreeView1.SelectedNodes.Count > 0)
     {
         DarkTreeNode dtn = darkTreeView1.SelectedNodes[0];
         main.SelectedObject = Type.GetType("SimplexResources.Objects." + dtn.Text);
     }
 }
Exemple #25
0
        public void AddFileNode(DarkTreeNode Parent, string Name)
        {
            DarkTreeNode node = new DarkTreeNode(Name);

            node.Icon         = Properties.Resources.document_16xLG;
            node.ExpandedIcon = null;
            Parent.Nodes.Add(node);
        }
Exemple #26
0
        public void Init(RefFilename fromFilename, int lineStart, int lineEnd, ScriptObject scriptObject)
        {
            OK.Enabled = false;
            var context = scriptObject.Context;

            Context = context;
            if (scriptObject.Namespace != null)
            {
                cloneToExistingTag.Text += " with namespace: \"" + scriptObject.Namespace + "\"";
            }

            ScriptObject = scriptObject;
            var dirFromContext = Core.Instance.GetBaseDirectoryFromContext(context).ToRelativeFilename();

            var root = new DarkTreeNode(context.ToString());

            var str = Core.Instance.ModCK3Library.GetDirectoryListFromContext(context, scriptObject.Namespace);

            for (var index = 0; index < str.Count; index++)
            {
                var item = root;
                var file = str[index];

                file = file.RemoveFromPath(dirFromContext);

                var parts = file.SplitDirectories();

                foreach (var part in parts)
                {
                    var next = new DarkTreeNode(part);
                    var f    = item.Nodes.Where(a => a.Text == part);
                    if (f.Any())
                    {
                        next = f.First();
                    }
                    else
                    {
                        item.Nodes.Add(next);
                    }
                    item          = next;
                    item.Expanded = true;
                    if (part.Contains(".txt"))
                    {
                        item.Tag = file;
                    }
                }
            }

            if (root.Nodes.Count > 0)
            {
                existingFileView.Nodes.Add(root);
            }

            root.Expanded = true;
        }
 private void UpdateNode(DarkTreeNode node, DarkTreeNode rootNode = null)
 {
     if (rootNode == null)
     {
         projectList.Nodes.Add(node);
     }
     else
     {
         rootNode.Nodes.Add(node);
     }
 }
Exemple #28
0
        public void UpdateSkeletonMatrices(DarkTreeNode current, Matrix4x4 parentTransform)
        {
            var node = (WadMeshBoneNode)current.Tag;

            node.GlobalTransform = node.Bone.Transform * parentTransform;

            foreach (var childNode in current.Nodes)
            {
                UpdateSkeletonMatrices(childNode, node.GlobalTransform);
            }
        }
        private void FillTreeData(DarkTreeNode treeNode, ScriptObject ev, int lineNumber)
        {
            fileOverviewNodes.Clear();

            foreach (var scriptObject in ev.Children)
            {
                AddTreeNode(treeNode, scriptObject);
            }

            treeNode.Expanded = false;
        }
Exemple #30
0
        public ToolWindow()
        {
            InitializeComponent();

            DarkTreeNode dtn = new DarkTreeNode("Objects");

            dtn.Icon   = (Bitmap)Resources.ResourceManager.GetObject("Folder_16x");
            dtn.IsRoot = true;
            dtv        = darkTreeView1;
            darkTreeView1.Nodes.Add(dtn);
        }