public override void StartSave(GameXmlWriter writer, Element e) { writer.WriteStartElement("turnscript"); if (writer.Mode == SaveMode.SavedGame || !e.Fields[FieldDefinitions.Anonymous]) { writer.WriteAttributeString("name", e.Name); } ObjectSaver.SaveFields(writer, e); }
public void Save(GameXmlWriter writer, WorldModel worldModel) { ObjectSaver elementSaver = new ObjectSaver(); elementSaver.GameSaver = GameSaver; IEnumerable<Element> allObjects = worldModel.Elements.GetElements(ElementType.Object).OrderBy(o => o.MetaFields[MetaFieldDefinitions.SortIndex]); foreach (Element e in allObjects.Where(e => e.Parent == null && GameSaver.CanSave(e))) { SaveObjectAndChildren(writer, allObjects, e, elementSaver); } }
public void Save(GameXmlWriter writer, WorldModel worldModel) { ObjectSaver elementSaver = new ObjectSaver(); elementSaver.GameSaver = GameSaver; IEnumerable <Element> allObjects = worldModel.Elements.GetElements(ElementType.Object).OrderBy(o => o.MetaFields[MetaFieldDefinitions.SortIndex]); foreach (Element e in allObjects.Where(e => e.Parent == null && GameSaver.CanSave(e))) { SaveObjectAndChildren(writer, allObjects, e, elementSaver); } }
private void SaveObjectAndChildren(GameXmlWriter writer, IEnumerable<Element> allObjects, Element e, ObjectSaver saver) { saver.StartSave(writer, e); IEnumerable<Element> orderedChildren = from child in allObjects where child.Parent == e orderby child.MetaFields[MetaFieldDefinitions.SortIndex] select child; foreach (Element child in orderedChildren) { SaveObjectAndChildren(writer, allObjects, child, saver); } saver.EndSave(writer, e); }
public override void StartSave(GameXmlWriter writer, Element e) { if (e.Fields[FieldDefinitions.IsVerb]) { writer.WriteStartElement("verb"); } else { writer.WriteStartElement("command"); } if (writer.Mode == SaveMode.SavedGame || !e.Fields[FieldDefinitions.Anonymous]) { writer.WriteAttributeString("name", e.Name); } ObjectSaver.SaveFields(writer, e); }
public override void StartSave(GameXmlWriter writer, Element e) { writer.WriteStartElement("exit"); if (writer.Mode == SaveMode.SavedGame || !e.Fields[FieldDefinitions.Anonymous]) { writer.WriteAttributeString("name", e.Name); } if (!string.IsNullOrEmpty(e.Fields[FieldDefinitions.Alias])) { writer.WriteAttributeString("alias", e.Fields[FieldDefinitions.Alias]); } if (e.Fields[FieldDefinitions.To] != null) { writer.WriteAttributeString("to", e.Fields[FieldDefinitions.To].Name); } ObjectSaver.SaveFields(writer, e); }
private void SaveObjectAndChildren(GameXmlWriter writer, IEnumerable <Element> allObjects, Element e, ObjectSaver saver) { saver.StartSave(writer, e); IEnumerable <Element> orderedChildren = from child in allObjects where child.Parent == e orderby child.MetaFields[MetaFieldDefinitions.SortIndex] select child; foreach (Element child in orderedChildren) { SaveObjectAndChildren(writer, allObjects, child, saver); } saver.EndSave(writer, e); }
public override void StartSave(GameXmlWriter writer, Element e) { writer.WriteStartElement("game"); writer.WriteAttributeString("name", e.Fields.GetString("gamename")); ObjectSaver.SaveFields(writer, e); }