Exemplo n.º 1
0
        //コンバートファイルリストのファイルを書き込む
        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);
        }
Exemplo n.º 2
0
        //指定のパスのファイルをメモリからバージョンアップ。
        //ファイルとメモリが同じだったら、書き込まず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);
            }
        }
Exemplo n.º 3
0
 //コンバートファイルリストのファイルを書き込む
 void Write()
 {
     byte[] bytes = BinaryUtil.BinaryWrite(ConvertFileList.Write);
     bytes = FileIOManager.Encode(bytes);
     File.WriteAllBytes(ConvertFileList.FilePath, bytes);
 }