Пример #1
0
 public void ToXml(XmlWriter w)
 {
     w.WriteStartElement("PathEdge");
     XmlHelperClass.WriteVectorElement(w, "Start", start);
     XmlHelperClass.WriteVectorElement(w, "End", end);
     w.WriteEndElement();
 }
Пример #2
0
        public void FromXml(XmlReader r)
        {
            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.Whitespace)
                {
                    continue;
                }
                r.MoveToElement(); //Moves the reader back to the element node.
                // look for the start of an element
                if (r.NodeType == XmlNodeType.Element)
                {
                    // parse that element
                    // save the name of the element
                    string elementName = r.Name;
                    switch (elementName)
                    {
                    case "Start":
                        start = XmlHelperClass.ParseVectorAttributes(r);
                        break;

                    case "End":
                        end = XmlHelperClass.ParseVectorAttributes(r);
                        break;
                    }
                }
                else if (r.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }
            }
        }
Пример #3
0
 public void ToXml(XmlWriter w)
 {
     w.WriteStartElement("PathPolygon");
     w.WriteAttributeString("kind", PathPolygon.PolygonKindToString(kind));
     w.WriteAttributeString("index", index.ToString());
     foreach (Vector3 corner in corners)
     {
         XmlHelperClass.WriteVectorElement(w, "Corner", corner);
     }
     w.WriteEndElement();
 }
Пример #4
0
        public void FromXml(XmlReader r)
        {
            corners = new Vector3[4];
            int cornerNumber = 0;

            while (r.Read())
            {
                if (r.NodeType == XmlNodeType.Whitespace)
                {
                    continue;
                }
                for (int i = 0; i < r.AttributeCount; i++)
                {
                    r.MoveToAttribute(i);

                    // set the field in this object based on the element we just read
                    if (r.Name == "kind")
                    {
                        kind = PolygonKindFromString(r.Value);
                        break;
                    }
                    if (r.Name == "index")
                    {
                        index = int.Parse(r.Value);
                        break;
                    }
                }
                r.MoveToElement(); //Moves the reader back to the element node.
                // look for the start of an element
                if (r.NodeType == XmlNodeType.Element)
                {
                    // parse that element
                    // save the name of the element
                    string elementName = r.Name;
                    switch (elementName)
                    {
                    case "Corner":
                        corners[cornerNumber++] = XmlHelperClass.ParseVectorAttributes(r);
                        break;
                    }
                }
                else if (r.NodeType == XmlNodeType.EndElement)
                {
                    break;
                }
            }
        }