public bool Load(string path) { if (!File.Exists(path)) { return(false); } Clear(); name = path; using (var reader = new BinaryReader(File.OpenRead(path))) { var count = reader.ReadInt32(); for (var i = 0; i < count; i++) { var file = new VFile { id = i }; file.Deserialize(reader); AddFile(file); } _pos = reader.BaseStream.Position; } Reindex(); return(true); }
public static List <VFile> LoadVersions(string filename, bool update = false) { string rootDir = Path.GetDirectoryName(filename); Dictionary <string, VFile> data = update ? _updateData : _baseData; data.Clear(); using (FileStream stream = File.OpenRead(filename)) { var reader = new BinaryReader(stream); var list = new List <VFile>(); var ver = reader.ReadInt32(); GameLog.Log("LoadVersions:" + ver); int count = reader.ReadInt32(); for (var i = 0; i < count; i++) { var version = new VFile(); version.Deserialize(reader); list.Add(version); data[version.name] = version; var dir = string.Format("{0}/{1}", rootDir, Path.GetDirectoryName(version.name)); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } } return(list); } }