public List <BundleDependency> GetDependencies() { List <BundleDependency> result = new List <BundleDependency>(); if (Dependencies.Count > 0) { for (int i = 0; i < Dependencies.Count; i++) { BundleDependency dependency = new BundleDependency(); dependency.EntryID = Dependencies[i].ID; dependency.EntryPointerOffset = (int)Dependencies[i].EntryPointerOffset; BundleEntry entry = null; /*string file = BundleCache.GetFileByEntryID(dependency.EntryID); * if (!string.IsNullOrEmpty(file)) * { * BundleArchive archive = BundleArchive.Read(file, dependency.EntryID); * entry = archive.GetEntryByID(dependency.EntryID); * }*/ //} // TODO for (int j = 0; j < Archive.Entries.Count; j++) { if (Archive.Entries[j].ID != dependency.EntryID) { continue; } dependency.EntryIndex = j; entry = Archive.Entries[j]; } dependency.Entry = entry; result.Add(dependency); } return(result); } MemoryStream ms = MakeStream(); BinaryReader2 br = new BinaryReader2(ms); br.BigEndian = Console; br.BaseStream.Position = DependenciesListOffset; for (int i = 0; i < DependencyCount; i++) { BundleDependency bundleDependency = new BundleDependency(); bundleDependency.EntryID = br.ReadUInt64(); bundleDependency.EntryPointerOffset = br.ReadInt32(); bundleDependency.Unknown2 = br.ReadInt32(); BundleEntry entry = null; /*string file = BundleCache.GetFileByEntryID(bundleDependency.EntryID); * if (!string.IsNullOrEmpty(file)) * { * BundleArchive archive = BundleArchive.Read(file, bundleDependency.EntryID); * entry = archive.GetEntryByID(bundleDependency.EntryID); * }*/ // TODO for (int j = 0; j < Archive.Entries.Count; j++) { if (Archive.Entries[j].ID != bundleDependency.EntryID) { continue; } bundleDependency.EntryIndex = j; entry = Archive.Entries[j]; } bundleDependency.Entry = entry; result.Add(bundleDependency); } br.Close(); ms.Close(); return(result); }