public static TreeNodeEntry TraverseAllUseOwn(string path, string extension, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; FileDirIInfo[] allFiles = env.GetFilesInDir(path, extension, true); for (int i = 0; i < allFiles.Length; i++) { TreeNodeEntry fileNode = new TreeNodeEntry(); fileNode.Name = allFiles[i].Name; fileNode.FullName = allFiles[i].FullName; fileNode.Icon = fileImage; node.NodeEntrys.Add(fileNode); } FileDirIInfo[] allDir = env.GetDirectoriesInDir(path, true); for (int d = 0; d < allDir.Length; d++) { if (allDir[d].Name == "") { continue; } TreeNodeEntry folderNode = new TreeNodeEntry(); folderNode.Name = allDir[d].Name; folderNode.Icon = folderImage; node.NodeEntrys.Add(folderNode); TraverseAllUseOwn(allDir[d].FullName, extension, folderNode); } return(node); }
private void GetNpcTreeItemFiles(NpcCollection npcCollection, string path, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; env.ClearOwnCascFiles(); foreach (Npc npc in npcCollection) { env.AddOwnCascFile(npc.Path); } env.FinishOwnCascFiles(); TreeViewFiles.Clear(); TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node); for (int i = 0; i < treeNode.NodeEntrys.Count; i++) { TreeViewFiles.Add(treeNode.NodeEntrys[i]); } }
private void GetSpellTreeItemFiles(SpellVisualEffectCollection spellVisualEffects, string path, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; env.ClearOwnCascFiles(); foreach (SpellVisualEffect spell in spellVisualEffects) { string s = Engine.Instance.WowDatabase.GetSpellVisualEffectPath(spell.Id); env.AddOwnCascFile(s); } env.FinishOwnCascFiles(); TreeViewFiles.Clear(); TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node); for (int i = 0; i < treeNode.NodeEntrys.Count; i++) { TreeViewFiles.Add(treeNode.NodeEntrys[i]); } }
private void GetWorldM2TreeItemFiles(string path, TreeNodeEntry node) { WowEnvironment env = Engine.Instance.WowEnvironment; env.ClearOwnCascFiles(); WowDatabase database = Engine.Instance.WowDatabase; for (uint i = 0; i < database.WorldModelCount; ++i) { env.AddOwnCascFile(database.GetWorldModelName(i, false)); } env.FinishOwnCascFiles(); TreeViewFiles.Clear(); TreeNodeEntry treeNode = TreeViewEntry.TraverseAllUseOwn(path, "*", node); for (int i = 0; i < treeNode.NodeEntrys.Count; i++) { TreeViewFiles.Add(treeNode.NodeEntrys[i]); } }