public bool WriteToFile(ArchiveObj.List serializeObjList, string yirdName, Archive.Header header, SaveRecordObj saveRecordObj) { try { if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } mIndexFile = new ArchiveIndexFile(); mIndexFile.yirdName = yirdName; mIndexFile.header = header; bool bOldIdxFileLoaded = false; ArchiveIndexFile oldIndexFile = null; Profiler.BeginSample("Archive"); serializeObjList.Foreach((serializeObj) => { bool bWrite = true; if (saveRecordObj != null) { bWrite = saveRecordObj(serializeObj); } if (bWrite) { WriteRecord(mIndexFile, serializeObj); } else { if (!bOldIdxFileLoaded) { oldIndexFile = ArchiveIndexFile.LoadFromFile(dir, yirdName); bOldIdxFileLoaded = true; } CopyIndex(mIndexFile, oldIndexFile, serializeObj); } }); Profiler.EndSample(); mIndexFile.Write(dir); } catch (Exception ex) { Debug.LogWarning(ex); return(false); } return(true); }
public bool LoadFromFile() { try { if (!Directory.Exists(dir)) { return(false); } mIndexFile = ArchiveIndexFile.LoadFromFile(dir); return(mIndexFile != null); } catch (Exception ex) { Debug.LogWarning(ex); return(false); } }