//キャッシュファイル書き込み internal void WriteNewVersion(AssetFileUtage file) { if (AssetFileManager.DontUseCache) { return; } if (AssetFileManager.isOutPutDebugLog) { Debug.Log("WriteCacheFile:" + file.FileName + " ver:" + file.Version + " cache:" + file.CacheVersion); } //キャッシュファイル書き込み準備 file.ReadyToWriteCache(IncCacheID(), CacheRootDir, AssetFileManager.isDebugCacheFileName); string cachePath = file.CachePath; //キャッシュ用のディレクトリがなければ作成 FileIOManger.CreateDirectory(cachePath); //ファイル書き込み bool ret = false; if (file.EncodeType == AssetFileEncodeType.EncodeOnCache) { switch (file.FileType) { case AssetFileType.Sound: ret = FileIOManger.WriteSound(cachePath, file.WriteCacheFileSound); break; case AssetFileType.Texture: ret = FileIOManger.WriteEncodeNoCompress(cachePath, file.CacheWriteBytes); break; default: ret = FileIOManger.WriteEncode(cachePath, file.CacheWriteBytes); break; } } else { ret = FileIOManger.Write(cachePath, file.CacheWriteBytes); } WrapperUnityVersion.SetNoBackupFlag(cachePath); //キャッシュファイルテーブルを更新して上書き if (!ret) { if (AssetFileManager.isOutPutDebugLog) { Debug.LogError("Write Failed :" + file.CachePath); } } else { WriteCacheTbl(); file.DeleteOldCacheFile(); } }
//キャッシュファイル書き込み void WriteNewVersion(AssetFileWork file) { //キャッシュファイル書き込み準備 file.FileInfo.ReadyToWriteCache(fileInfoTbl.IncCacheID(), GetCacheRootDir(), isDebugCacheFileName); string cachePath = file.FileInfo.CachePath; //キャッシュ用のディレクトリがなければ作成 FileIOManger.CreateDirectory(cachePath); //ファイル書き込み bool ret = false; if (file.FileInfo.IsCrypt) { switch (file.FileInfo.FileType) { case AssetFileType.Sound: ret = FileIOManger.WriteSound(cachePath, file.WriteCacheFileSound); break; case AssetFileType.Texture: ret = FileIOManger.WriteEncodeNoCompress(cachePath, file.CacheWriteBytes); break; default: ret = FileIOManger.WriteEncode(cachePath, file.CacheWriteBytes); break; } } else { ret = FileIOManger.Write(cachePath, file.CacheWriteBytes); } #if UNITY_IPHONE iPhone.SetNoBackupFlag(cachePath); #endif //キャッシュファイルテーブルを更新して上書き if (!ret) { DebugLogError("Write Failed :" + file.FileInfo.CachePath); } else { WriteCacheTbl(); file.FileInfo.DeleteOldCacheFile(); } }
//符号化して書き込み public bool WriteEncode(string path, string srcFileName, byte[] bytes) { AssetFileType fileType = PraseFileType(srcFileName); bool ret; switch (fileType) { case AssetFileType.Texture: ret = FileIOManger.WriteEncodeNoCompress(path, bytes); break; default: ret = FileIOManger.WriteEncode(path, bytes); break; } return(ret); }