//ロード処理(暗号化済みファイルから) void LoadWWWCriptFile(WWW www) { byte[] readBytes = www.bytes; switch (FileType) { case AssetFileType.Text: //テキスト text = System.Text.Encoding.UTF8.GetString(fileIO.Decode(readBytes)); break; case AssetFileType.Bytes: //バイナリ bytes = fileIO.Decode(readBytes); break; case AssetFileType.Texture: //テクスチャ fileIO.DecodeNoCompress(readBytes); //圧縮なしでデコード //サイズとTextureFormatはLoadImage後無視される。ミップマップの反映のみ texture = new Texture2D(1, 1, TextureFormat.ARGB32, FileInfo.IsTextureMipmap); if (texture.LoadImage(readBytes)) { texture.name = FileInfo.FilePath; texture.wrapMode = TextureWrapMode.Clamp; //ReadWriteフラグの設定 if (RowData != null && RowData.ParseCellOptional("ReadWrite", false)) { texture.Apply(false, false); } else { texture.Apply(false, true); } } else { Debug.LogError(" Filed load image " + FileInfo.FilePath); } break; case AssetFileType.Sound: //サウンド fileIO.DecodeNoCompress(readBytes); //圧縮なしでデコード sound = FileIOManagerBase.ReadAudioFromMem(this.FileName, readBytes); sound.name = FileInfo.FilePath; break; case AssetFileType.Csv: //CSV csv = new StringGrid(this.FileName, FileInfo.IsTsv ? CsvType.Tsv : CsvType.Csv, System.Text.Encoding.UTF8.GetString(fileIO.Decode(readBytes))); break; case AssetFileType.UnityObject: Debug.LogError("AssetBundle not support load from utage cript cache file"); break; default: break; } }
//ロード処理(通常) void LoadWWWNormal(WWW www) { if (FileInfo.IsStreamingType && FileInfo.IsWriteNewCache) { //ストリーミング再生かつ、キャッシュに書き込む必要がある場合は、まだリソースを読まない //書き込み後の再読み込みを発行する isLoadRetry = true; } else { switch (FileType) { case AssetFileType.Text: //テキスト text = www.text; break; case AssetFileType.Bytes: //バイナリ bytes = www.bytes; break; case AssetFileType.Texture: //テクスチャ if (FileInfo.IsTextureMipmap) { //サイズとTextureFormatはLoadImage後無視される。ミップマップの反映のみ texture = new Texture2D(1, 1, TextureFormat.ARGB32, FileInfo.IsTextureMipmap); texture.LoadImage(www.bytes); //ReadWriteフラグの設定 if (RowData != null && RowData.ParseCellOptional("ReadWrite", false)) { texture.Apply(false, false); } else { texture.Apply(false, true); } } else { texture = www.texture; } texture.name = FileInfo.FilePath; texture.wrapMode = TextureWrapMode.Clamp; break; case AssetFileType.Sound: //サウンド if (sound != null) { //ロードできていないストリーミング用のサウンドを消す UnityEngine.Object.Destroy(sound); } //非ストリーミングでオンメモリでロード sound = www.GetAudioClip(FileInfo.IsAudio3D, false, FileInfo.AudioType); sound.name = FileInfo.FilePath; if (!WrapperUnityVersion.IsReadyPlayAudioClip(sound)) { Debug.LogError(sound.name + ":" + sound.loadState); } break; case AssetFileType.Csv: //CSV csv = new StringGrid(this.FileName, FileInfo.IsTsv ? CsvType.Tsv : CsvType.Csv, www.text); break; case AssetFileType.UnityObject: //UnityObject Debug.LogError("AssetBundle not support load from normal WWW"); break; default: break; } } }