public void WriteObject <T>(string path, Stream stream, T instance, Serialization.Format format) { pathStack.Push(path); PushCurrent(this); AbstractWriterSerializer ys = null; try { if (format == Serialization.Format.Binary) { WriteYuzuBinarySignature(stream); ys = new global::Yuzu.Binary.BinarySerializer { Options = YuzuCommonOptions }; } else if (format == Serialization.Format.JSON) { ys = new global::Yuzu.Json.JsonSerializer { Options = YuzuCommonOptions, JsonOptions = YuzuJsonOptions }; } ys.ToStream(instance, stream); } finally { pathStack.Pop(); PopCurrent(); } }
public void WriteObjectToBundle <T>(AssetBundle bundle, string path, T instance, Serialization.Format format, string sourceExtension, AssetAttributes attributes, byte[] cookingRulesSHA1) { using (MemoryStream stream = new MemoryStream()) { WriteObject(path, stream, instance, format); stream.Seek(0, SeekOrigin.Begin); bundle.ImportFile(path, stream, 0, sourceExtension, attributes, cookingRulesSHA1); } }
public void WriteObjectToFile <T>(string path, T instance, Serialization.Format format) { using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) WriteObject(path, stream, instance, format); }