Example #1
0
        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();
            }
        }
Example #2
0
 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);
     }
 }
Example #3
0
 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);
 }