public void AddToTree(FolderEntry item, Idstring pck = null) { foreach (KeyValuePair <string, IEntry> entry in Children) { if (entry.Value is FolderEntry) { FolderEntry _entry = entry.Value as FolderEntry; if (pck != null && !_entry.ContainsAnyBundleEntries(pck)) { continue; } // item.Children.Add(item); _entry.AddToTree(item, pck); } } }
public bool ContainsAnyBundleEntries(Idstring package = null) { foreach (KeyValuePair <string, IEntry> entry in Children) { if (entry.Value is FolderEntry) { FolderEntry _entry = entry.Value as FolderEntry; if (_entry.ContainsAnyBundleEntries(package)) { return(true); } } else if (entry.Value is FileEntry) { FileEntry _entry = entry.Value as FileEntry; if (_entry.BundleEntries.Count != 0 && (package != null ? _entry.BundleEntries.ContainsKey(package) : true)) { return(true); } } } return(false); }