LSLib.LS.LSXWriter.Write C# (CSharp) Méthode

Write() public méthode

public Write ( Resource rsrc ) : void
rsrc Resource
Résultat void
        public void Write(Resource rsrc)
        {
            var settings = new XmlWriterSettings();
            settings.Indent = PrettyPrint;
            settings.IndentChars = "\t";

            using (this.writer = XmlWriter.Create(stream, settings))
            {
                writer.WriteStartElement("save");

                writer.WriteStartElement("header");
                writer.WriteAttributeString("version", LSXReader.CurrentVersion);
                writer.WriteAttributeString("time", rsrc.Metadata.timestamp.ToString());
                writer.WriteEndElement();

                writer.WriteStartElement("version");
                writer.WriteAttributeString("major", rsrc.Metadata.majorVersion.ToString());
                writer.WriteAttributeString("minor", rsrc.Metadata.minorVersion.ToString());
                writer.WriteAttributeString("revision", rsrc.Metadata.revision.ToString());
                writer.WriteAttributeString("build", rsrc.Metadata.buildNumber.ToString());
                writer.WriteEndElement();

                WriteRegions(rsrc);

                writer.WriteEndElement();
                writer.Flush();
            }
        }

Usage Example

Exemple #1
0
        public static void SaveResource(Resource resource, string outputPath, ResourceFormat format, int version = -1)
        {
            var file = new FileStream(outputPath, FileMode.Create, FileAccess.Write);

            switch (format)
            {
            case ResourceFormat.LSX:
            {
                using (var writer = new LSXWriter(file))
                {
                    writer.PrettyPrint = true;
                    writer.Write(resource);
                }
                break;
            }

            case ResourceFormat.LSB:
            {
                using (var writer = new LSBWriter(file))
                {
                    writer.Write(resource);
                }
                break;
            }

            case ResourceFormat.LSF:
            {
                uint lsfVersion;
                if (version == -1)
                {
                    // Write in V2 format for D:OS EE compatibility
                    lsfVersion = FileVersion.VerChunkedCompress;
                }
                else
                {
                    lsfVersion = (uint)version;
                }

                using (var writer = new LSFWriter(file, lsfVersion))
                {
                    writer.Write(resource);
                }
                break;
            }

            default:
                throw new ArgumentException("Invalid resource format");
            }
        }
All Usage Examples Of LSLib.LS.LSXWriter::Write