public void Save(XmlWriter writer)
{
writer.WriteStartElement("ShipDesign");
writer.WriteAttributeString("Name", Name);
writer.WriteAttributeString("DesignID", DesignID.ToString());
writer.WriteAttributeString("Size", Size.ToString());
writer.WriteAttributeString("WhichStyle", WhichStyle.ToString());
writer.WriteAttributeString("Engine", Engine.Key.EquipmentName);
writer.WriteAttributeString("NumOfEngines", Engine.Value.ToString());
writer.WriteAttributeString("Armor", Armor.EquipmentName);
writer.WriteAttributeString("Shield", Shield == null ? "" : Shield.EquipmentName);
writer.WriteAttributeString("Computer", Computer == null ? "" : Computer.EquipmentName);
writer.WriteAttributeString("ECM", ECM == null ? "" : ECM.EquipmentName);
foreach (var weapon in Weapons)
{
writer.WriteStartElement("Weapon");
if (weapon.Key == null)
{
writer.WriteAttributeString("Name", "null");
}
else
{
writer.WriteAttributeString("Name", weapon.Key.EquipmentName);
writer.WriteAttributeString("NumOfMounts", weapon.Value.ToString());
writer.WriteAttributeString("IsSecondary", weapon.Key.UseSecondary.ToString());
}
writer.WriteEndElement();
}
foreach (var special in Specials)
{
writer.WriteStartElement("Special");
if (special == null)
{
writer.WriteAttributeString("Name", "null");
}
else
{
writer.WriteAttributeString("Name", special.EquipmentName);
}
writer.WriteEndElement();
}
writer.WriteEndElement();
}