public void GetSubFileEntries(Dictionary <string, FileEntry> fileList) { foreach (KeyValuePair <string, IChild> pairEntry in this._children) { if (pairEntry.Value is FileEntry) { FileEntry _entry = pairEntry.Value as FileEntry; if (_entry.BundleEntries.Count == 0) { continue; } fileList.Add(_entry.Path, _entry); } else if (pairEntry.Value is IParent) { IParent _entry = pairEntry.Value as IParent; _entry.GetSubFileEntries(fileList); } } }