public void WriteXml(XmlWriter writer) { if (Instance != null) { XmlDirectionalAnimationSetInstance elem = Instance as XmlDirectionalAnimationSetInstance; if (elem == null) elem = new XmlDirectionalAnimationSetInstance(Instance); writer.WriteStartElement("Instance"); elem.WriteXml(writer); writer.WriteEndElement(); } if (Sprites != null) { XmlSpriteListElement elem = Sprites as XmlSpriteListElement; if (elem == null) elem = new XmlSpriteListElement(Sprites); writer.WriteStartElement("Sprites"); elem.WriteXml(writer); writer.WriteEndElement(); } if (AnimationSets != null) { writer.WriteStartElement("AnimationSets"); foreach (IAnimationSetElement animationSet in AnimationSets) { XmlAnimationSetElement elem = animationSet as XmlAnimationSetElement; if (elem == null) elem = new XmlAnimationSetElement(animationSet); writer.WriteStartElement("AnimationSet"); elem.WriteXml(writer); writer.WriteEndElement(); } writer.WriteEndElement(); } if (ActivityMap != null) { XmlActivityMapElement elem = ActivityMap as XmlActivityMapElement; if (elem == null) elem = new XmlActivityMapElement(ActivityMap); writer.WriteStartElement("ActivityMap"); elem.WriteXml(writer); writer.WriteEndElement(); } }
private void ReadAnimationSetsXml(XmlReader reader) { reader.MoveToContent(); if (reader.IsEmptyElement) { reader.ReadStartElement(); return; } reader.ReadStartElement(); while (!reader.EOF) { if (reader.IsStartElement()) { switch (reader.Name) { case "AnimationSet": XmlAnimationSetElement animationSet = new XmlAnimationSetElement(); animationSet.ReadXml(reader); AnimationSets.Add(animationSet); break; default: reader.Skip(); break; } } else if (reader.NodeType == XmlNodeType.EndElement) { reader.ReadEndElement(); break; } else reader.Read(); } }