//コンバートファイルリストのファイルを書き込む void Write() { byte[] bytes = BinaryUtil.BinaryWrite(ConvertFileList.Write); bool isEncoded = Settings.FindSettingFromPath(ConvertFileList.FilePath).EncodeType == AssetFileEncodeType.AlreadyEncoded; if (isEncoded) { bytes = FileIOManager.Encode(bytes); } File.WriteAllBytes(ConvertFileList.FilePath, bytes); }
//指定のパスのファイルをメモリからバージョンアップ。 //ファイルとメモリが同じだったら、書き込まずfalseを返す。 bool TryConvertFileFromMem(string outputFileName, byte[] buffer) { AssetFileSetting setting = Settings.FindSettingFromPath(outputFileName); byte[] oldBytes = File.Exists(outputFileName) ? File.ReadAllBytes(outputFileName) : new byte[0]; if (setting.EncodeType == AssetFileEncodeType.AlreadyEncoded) { //エンコードが必要なタイプはエンコードする switch (setting.FileType) { case AssetFileType.Sound: Debug.LogError("Sound File not support to encode file"); return(false); case AssetFileType.Texture: buffer = FileIOManager.EncodeNoCompress(buffer); break; default: buffer = FileIOManager.Encode(buffer); break; } } if (IsEqualBytes(oldBytes, buffer)) { return(false); } else { //ディレクトリがなければ作る string dir = Path.GetDirectoryName(outputFileName); if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } File.WriteAllBytes(outputFileName, buffer); return(true); } }
//コンバートファイルリストのファイルを書き込む void Write() { byte[] bytes = BinaryUtil.BinaryWrite(ConvertFileList.Write); bytes = FileIOManager.Encode(bytes); File.WriteAllBytes(ConvertFileList.FilePath, bytes); }