/// <summary> /// Parse the XML Mission nodes /// </summary> /// <param name="xmlNode">The <Mission></Mission> nodes</param> private void fromXML(XmlNode xmlNode) { String value; Int32 intValue; Xml.getAttribute(xmlNode, XmlAttributes.ID, true, out value); setId(value); if (Xml.getAttribute(xmlNode, XmlAttributes.FORFEITABLE, false, out value)) { setForfeitable(value.Equals("1")); } Xml.getAttribute(xmlNode, XmlAttributes.TIME, true, out intValue); setAllowedTime(intValue); if (Xml.getAttribute(xmlNode, XmlAttributes.OVERALL, false, out intValue)) { setOverallLevel(intValue); } foreach (XmlNode missionChild in xmlNode.ChildNodes) { if (missionChild.Name.Equals(XmlTag.NAME)) { Xml.getValue(missionChild, true, out value); setName(value); } else if (missionChild.Name.Equals(XmlTag.SUMMARY)) { Xml.getValue(missionChild, true, out value); setSummary(value); } else if (missionChild.Name.Equals(XmlTag.CONDITION)) { Condition condition = new Condition(); condition.fromXml(missionChild); addCondition(condition); } else if (missionChild.Name.Equals(XmlTag.STAGE)) { Stage stage = new Stage(); stage.fromXml(missionChild); addStage(stage); } else { MessageBox.Show("Unexpected node: " + missionChild.Name + " in the" + XmlTag.MISSION + " tag"); } } addValidations(); }