void SaveResourceList() { int num = 0; lock (_saveThreadLock) { num = _finishDatas.Count; } for (int i = 0; i < num; ++i) { _currentResourclist.Resources[_finishDatas[0].Key] = _finishDatas[0].Value; lock (_saveThreadLock) { _finishDatas.RemoveAt(0); } } FileStream fs = new FileStream(ResourceManager.DataPath + "ResourceList.ab.ab", FileMode.Create); _currentResourclist.WriteTo(fs); fs.Flush(); fs.Close(); try { lock (_threadLock) { File.Copy(ResourceManager.DataPath + "ResourceList.ab.ab", ResourceManager.DataPath + "ResourceList.ab", true); } File.Delete(ResourceManager.DataPath + "ResourceList.ab.ab"); } catch (Exception ex) { Debugger.LogException(ex); } }
static void SaveResourceDatas(string path, ResourceDatas datas) { FileStream fs = new FileStream(path, FileMode.Create); datas.WriteTo(fs); fs.Flush(); fs.Close(); }