protected Deserialize ( int num, object obj, ProtoBuf.ProtoReader protoReader ) : object | ||
num | int | /// The num. /// |
obj | object | /// The obj. /// |
protoReader | ProtoBuf.ProtoReader | /// The proto reader. /// |
return | object |
/// <summary> /// The attempt load of file. /// </summary> /// <param name="file"> /// The file. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> private IRawAsset AttemptLoadOfFile(FileInfo file, string name) { if (file.Exists) { using (var stream = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (var reader = new BinaryReader(stream)) { switch (reader.ReadByte()) { case CompiledAsset.FORMAT_LZMA_COMPRESSED: using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return(result); } case CompiledAsset.FORMAT_UNCOMPRESSED: var ucserializer = new CompiledAssetSerializer(); var ucresult = (CompiledAsset)ucserializer.Deserialize(reader.BaseStream, null, typeof(CompiledAsset)); return(ucresult); default: throw new InvalidDataException(); } } } } return(null); }
/// <summary> /// The attempt load of stream. /// </summary> /// <param name="stream"> /// The stream. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> private IRawAsset AttemptLoadOfStream(Stream stream, string name) { if (stream == null) { return(null); } using (var copy = new MemoryStream()) { // The reader.BaseStream won't support the Length property as it // is a stream from an Android asset; we have to copy the stream // to memory and then decompress it. stream.CopyTo(copy); copy.Seek(0, SeekOrigin.Begin); using (var reader = new BinaryReader(copy)) { if (reader.ReadByte() != 0) { throw new InvalidDataException(); } var start = DateTime.Now; using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return(result); } } } }
/// <summary> /// The attempt load of file. /// </summary> /// <param name="file"> /// The file. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> private IRawAsset AttemptLoadOfFile(FileInfo file, string name) { if (file.Exists) { using (var stream = new FileStream(file.FullName, FileMode.Open)) { using (var reader = new BinaryReader(stream)) { if (reader.ReadByte() != 0) { throw new InvalidDataException(); } var start = DateTime.Now; using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return(result); } } } } return(null); }
/// <summary> /// The attempt load. /// </summary> /// <param name="path"> /// The path. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> public IRawAsset AttemptLoad(string path, string name, ref DateTime?lastModified, bool noTranslate = false) { lastModified = new DateTime(1970, 1, 1, 0, 0, 0); var embedded = (from assembly in AppDomain.CurrentDomain.GetAssemblies() where !assembly.IsDynamic from resource in assembly.GetManifestResourceNames() where resource == assembly.GetName().Name + "." + name + "-" + TargetPlatformUtility.GetExecutingPlatform() + ".bin" || resource == assembly.GetName().Name + ".Resources." + name + "-" + TargetPlatformUtility.GetExecutingPlatform() + ".bin" select assembly.GetManifestResourceStream(resource)).ToList(); if (embedded.Any()) { using (var reader = new BinaryReader(embedded.First())) { switch (reader.ReadByte()) { case CompiledAsset.FORMAT_LZMA_COMPRESSED: using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return(result); } case CompiledAsset.FORMAT_UNCOMPRESSED: var ucserializer = new CompiledAssetSerializer(); var ucresult = (CompiledAsset)ucserializer.Deserialize(reader.BaseStream, null, typeof(CompiledAsset)); return(ucresult); default: throw new InvalidDataException(); } } } return(null); }
/// <summary> /// The attempt load. /// </summary> /// <param name="path"> /// The path. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> public IRawAsset AttemptLoad(string path, string name, ref DateTime? lastModified, bool noTranslate = false) { lastModified = new DateTime(1970, 1, 1, 0, 0, 0); var embedded = (from assembly in AppDomain.CurrentDomain.GetAssemblies() where !assembly.IsDynamic from resource in assembly.GetManifestResourceNames() where resource == assembly.GetName().Name + "." + name + "-" + TargetPlatformUtility.GetExecutingPlatform() + ".bin" || resource == assembly.GetName().Name + ".Resources." + name + "-" + TargetPlatformUtility.GetExecutingPlatform() + ".bin" select assembly.GetManifestResourceStream(resource)).ToList(); if (embedded.Any()) { using (var reader = new BinaryReader(embedded.First())) { switch (reader.ReadByte()) { case CompiledAsset.FORMAT_LZMA_COMPRESSED: using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return result; } case CompiledAsset.FORMAT_UNCOMPRESSED: var ucserializer = new CompiledAssetSerializer(); var ucresult = (CompiledAsset)ucserializer.Deserialize(reader.BaseStream, null, typeof(CompiledAsset)); return ucresult; default: throw new InvalidDataException(); } } } return null; }
/// <summary> /// The attempt load of file. /// </summary> /// <param name="file"> /// The file. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> private IRawAsset AttemptLoadOfFile(FileInfo file, string name) { if (file.Exists) { using (var stream = new FileStream(file.FullName, FileMode.Open)) { using (var reader = new BinaryReader(stream)) { if (reader.ReadByte() != 0) { throw new InvalidDataException(); } var start = DateTime.Now; using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return result; } } } } return null; }
/// <summary> /// The attempt load of file. /// </summary> /// <param name="file"> /// The file. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> private IRawAsset AttemptLoadOfFile(FileInfo file, string name) { if (file.Exists) { using (var stream = new FileStream(file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read)) { using (var reader = new BinaryReader(stream)) { switch (reader.ReadByte()) { case CompiledAsset.FORMAT_LZMA_COMPRESSED: using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return result; } case CompiledAsset.FORMAT_UNCOMPRESSED: var ucserializer = new CompiledAssetSerializer(); var ucresult = (CompiledAsset)ucserializer.Deserialize(reader.BaseStream, null, typeof(CompiledAsset)); return ucresult; default: throw new InvalidDataException(); } } } } return null; }
/// <summary> /// The attempt load of stream. /// </summary> /// <param name="stream"> /// The stream. /// </param> /// <param name="name"> /// The name. /// </param> /// <returns> /// The <see cref="object"/>. /// </returns> /// <exception cref="InvalidDataException"> /// </exception> private IRawAsset AttemptLoadOfStream(Stream stream, string name) { if (stream == null) { return null; } using (var copy = new MemoryStream()) { // The reader.BaseStream won't support the Length property as it // is a stream from an Android asset; we have to copy the stream // to memory and then decompress it. stream.CopyTo(copy); copy.Seek(0, SeekOrigin.Begin); using (var reader = new BinaryReader(copy)) { switch (reader.ReadByte()) { case CompiledAsset.FORMAT_LZMA_COMPRESSED: using (var memory = new MemoryStream()) { LzmaHelper.Decompress(reader.BaseStream, memory); memory.Seek(0, SeekOrigin.Begin); var serializer = new CompiledAssetSerializer(); var result = (CompiledAsset)serializer.Deserialize(memory, null, typeof(CompiledAsset)); return result; } case CompiledAsset.FORMAT_UNCOMPRESSED: var ucserializer = new CompiledAssetSerializer(); var ucresult = (CompiledAsset)ucserializer.Deserialize(reader.BaseStream, null, typeof(CompiledAsset)); return ucresult; default: throw new InvalidDataException(); } } } }