void LoadDataBinWorker <ClassType>(string filename, object dic, Action <ClassType> process = null) where ClassType : BaseDataObject, new() { Dictionary <ushort, ClassType> dataMap = dic as Dictionary <ushort, ClassType>; BinaryReader br = null; Stream ds = OpenBinDataFile(filename); br = new BinaryReader(ds); try { while (true) { ClassType tNewData = new ClassType(); tNewData.ReadFromStream(br); dataMap.Add(tNewData.mID, tNewData); if (process != null) { process(tNewData); } } } catch (EndOfStreamException) { Console.WriteLine(filename + "Load Data Done"); } catch (IOException e) { Console.WriteLine(e.ToString()); } finally { br.Close(); FileDes.CloseStream(); } return; }
//根据指定的数据文件名,创建流。 参数格式:“Strings.bytes” private Stream OpenBinDataFile(string filename) {// return(FileDes.DecryptFileToStream(FolderCfg.BinFolder() + filename)); }
//根据指定的数据文件名,创建流。 参数格式:“Strings.bytes” private Stream OpenBinDataFile(string filename) {// TextAsset binDataAsset = Resources.Load(FolderCfg.BinFolder() + filename.Substring(0, filename.Length - 6)) as TextAsset; return(FileDes.DecryptDataToStream(binDataAsset.bytes)); }