/// <summary> /// Saves the component specific data to the specified save game node. /// </summary> /// <param name="node">The parent node.</param> public void SaveGame(XmlNode node) { foreach (ICustomBlackbirdComponent component in this.Values) { IBlackbirdSavegameComponent sim = component as IBlackbirdSavegameComponent; if (sim != null) { XmlElement el = node.OwnerDocument.CreateElement(sim.Id); node.AppendChild(el); sim.SaveGame(el); } } }
/// <summary> /// Loads the component specific data from the specified save game node. /// </summary> /// <param name="node">The parent node.</param> public void LoadGame(XmlNode node) { foreach (XmlNode component in node.ChildNodes) { if (this.ContainsKey(component.Name)) { IBlackbirdSavegameComponent sim = this[component.Name] as IBlackbirdSavegameComponent; if (sim != null) { sim.LoadGame(component); } } } }