ToOriginalXmlFormat() public static méthode

Serialize a scene object to the original xml format
public static ToOriginalXmlFormat ( SceneObjectGroup sceneObject ) : string
sceneObject SceneObjectGroup
Résultat string
Exemple #1
0
        /// <summary>
        /// Serialize a scene object to the original xml format
        /// </summary>
        /// <param name="sceneObject"></param>
        /// <returns></returns>
        public static void ToXmlFormat(IEnumerable <SceneObjectGroup> sceneObjects, IEnumerable <ItemPermissionBlock> permissions,
                                       XmlTextWriter writer, StopScriptReason stopScriptReason)
        {
            writer.WriteStartElement(String.Empty, "CoalescedSceneObject", String.Empty);

            //permissions
            writer.WriteStartElement(String.Empty, "CSOPermissions", String.Empty);
            foreach (ItemPermissionBlock perm in permissions)
            {
                writer.WriteStartElement(String.Empty, "CSOPermission", String.Empty);
                perm.ToXml(writer);
                writer.WriteEndElement(); // ColObjectMember
            }
            writer.WriteEndElement();

            //scene objects
            writer.WriteStartElement(String.Empty, "ColObjects", String.Empty);
            foreach (SceneObjectGroup group in sceneObjects)
            {
                writer.WriteStartElement(String.Empty, "ColObjectMember", String.Empty);
                SceneObjectSerializer.ToOriginalXmlFormat(group, writer, stopScriptReason);
                writer.WriteEndElement(); // ColObjectMember
            }
            writer.WriteEndElement();     //ColObjects


            writer.WriteEndElement(); // CoalescedSceneObject
        }
        /// <summary>
        /// Serialize coalesced objects to Xml
        /// </summary>
        /// <param name="coa"></param>
        /// <param name="doScriptStates">
        /// If true then serialize script states.  This will halt any running scripts
        /// </param>
        /// <returns></returns>
        public static string ToXml(CoalescedSceneObjects coa, bool doScriptStates)
        {
            using (StringWriter sw = new StringWriter())
            {
                using (XmlTextWriter writer = new XmlTextWriter(sw))
                {
                    Vector3 size;

                    List <SceneObjectGroup> coaObjects = coa.Objects;

                    //                    m_log.DebugFormat(
                    //                        "[COALESCED SCENE OBJECTS SERIALIZER]: Writing {0} objects for coalesced object",
                    //                        coaObjects.Count);

                    // This is weak - we're relying on the set of coalesced objects still being identical
                    Vector3[] offsets = coa.GetSizeAndOffsets(out size);

                    writer.WriteStartElement("CoalescedObject");

                    writer.WriteAttributeString("x", size.X.ToString(Culture.FormatProvider));
                    writer.WriteAttributeString("y", size.Y.ToString(Culture.FormatProvider));
                    writer.WriteAttributeString("z", size.Z.ToString(Culture.FormatProvider));

                    // Embed the offsets into the group XML
                    for (int i = 0; i < coaObjects.Count; i++)
                    {
                        SceneObjectGroup obj = coaObjects[i];

                        //                        m_log.DebugFormat(
                        //                            "[COALESCED SCENE OBJECTS SERIALIZER]: Writing offset for object {0}, {1}",
                        //                            i, obj.Name);

                        writer.WriteStartElement("SceneObjectGroup");
                        writer.WriteAttributeString("offsetx", offsets[i].X.ToString(Culture.FormatProvider));
                        writer.WriteAttributeString("offsety", offsets[i].Y.ToString(Culture.FormatProvider));
                        writer.WriteAttributeString("offsetz", offsets[i].Z.ToString(Culture.FormatProvider));

                        SceneObjectSerializer.ToOriginalXmlFormat(obj, writer, doScriptStates);

                        writer.WriteEndElement(); // SceneObjectGroup
                    }

                    writer.WriteEndElement(); // CoalescedObject
                }

                string output = sw.ToString();

                //                Console.WriteLine(output);

                return(output);
            }
        }
        public static void SavePrimsToXml(Scene scene, string fileName)
        {
            FileStream   file      = new FileStream(fileName, FileMode.Create);
            StreamWriter stream    = new StreamWriter(file);
            int          primCount = 0;

            stream.WriteLine("<scene>\n");

            EntityBase[] entityList = scene.GetEntities();
            foreach (EntityBase ent in entityList)
            {
                if (ent is SceneObjectGroup)
                {
                    stream.WriteLine(SceneObjectSerializer.ToOriginalXmlFormat((SceneObjectGroup)ent));
                    primCount++;
                }
            }
            stream.WriteLine("</scene>\n");
            stream.Close();
            file.Close();
        }
Exemple #4
0
 public static string SaveGroupToOriginalXml(SceneObjectGroup grp)
 {
     return(SceneObjectSerializer.ToOriginalXmlFormat(grp, false));
 }