public static XElement toXmlEquipment(SoldierClassEquipment equipment) { XElement xmlWeapon = new XElement(Constants.XML_EQUIPMENT); addBaseChild(xmlWeapon, Constants.XML_EQUIPMENT_SQUADDIE_LOADOUT, equipment.squaddieLoadout); addBaseChild(xmlWeapon, Constants.XML_EQUIPMENT_ALLOWED_ARMORS, equipment.allowedArmors); addXmlChild(xmlWeapon, toXmlWeapons(equipment.weapons)); return(xmlWeapon); }
public void convertEquipment() { SoldierClassEquipment equipment = new SoldierClassEquipment(); equipment.squaddieLoadout = "Squaddie_TestClass"; equipment.allowedArmors = "squaddie"; List <Weapon> weapons = new List <Weapon>(); Weapon weaponA = new Weapon(); weaponA.weaponName = "shotgun"; weaponA.weaponSlot = WeaponSlot.Primary; weapons.Add(weaponA); Weapon weaponB = new Weapon(); weaponB.weaponName = "sword"; weaponB.weaponSlot = WeaponSlot.Secondary; weapons.Add(weaponB); equipment.weapons = weapons; XElement actual = XcomPerkManager.Conversion.Convert.toXmlEquipment(equipment); XElement expected = new XElement(Constants.XML_EQUIPMENT); expected.Add(new XElement(Constants.XML_EQUIPMENT_SQUADDIE_LOADOUT, "Squaddie_TestClass")); expected.Add(new XElement(Constants.XML_EQUIPMENT_ALLOWED_ARMORS, "squaddie")); XElement expectedWeapons = new XElement(Constants.XML_EQUIPMENT_WEAPONS); XElement expectedWeaponA = new XElement(Constants.XML_EQUIPMENT_WEAPON); expectedWeaponA.Add(new XElement(Constants.XML_EQUIPMENT_WEAPON_NAME, "shotgun")); expectedWeaponA.Add(new XElement(Constants.XML_EQUIPMENT_WEAPON_SLOT, "2")); expectedWeapons.Add(expectedWeaponA); XElement expectedWeaponB = new XElement(Constants.XML_EQUIPMENT_WEAPON); expectedWeaponB.Add(new XElement(Constants.XML_EQUIPMENT_WEAPON_NAME, "sword")); expectedWeaponB.Add(new XElement(Constants.XML_EQUIPMENT_WEAPON_SLOT, "3")); expectedWeapons.Add(expectedWeaponB); expected.Add(expectedWeapons); Assert.IsTrue(XNode.DeepEquals(expected, actual), "Expected: " + expected.ToString() + "\nActual: " + actual.ToString()); }
public static SoldierClassEquipment toDriverEquipment(XElement xmlEquipment) { SoldierClassEquipment equipment = new SoldierClassEquipment(); if (xmlEquipment.Element(Constants.XML_EQUIPMENT_SQUADDIE_LOADOUT) != null) { equipment.squaddieLoadout = xmlEquipment.Element(Constants.XML_EQUIPMENT_SQUADDIE_LOADOUT).Value; } if (xmlEquipment.Element(Constants.XML_EQUIPMENT_ALLOWED_ARMORS) != null) { equipment.allowedArmors = xmlEquipment.Element(Constants.XML_EQUIPMENT_ALLOWED_ARMORS).Value; } if (xmlEquipment.Element(Constants.XML_EQUIPMENT_WEAPONS) != null) { equipment.weapons = toDriverWeapons(xmlEquipment.Element(Constants.XML_EQUIPMENT_WEAPONS)); } return(equipment); }
public void convertSoldierClass() { SoldierClassMetadata metadata = new SoldierClassMetadata(); metadata.internalName = "InternalTest"; metadata.displayName = "Internal Test"; metadata.description = "This is a test"; metadata.iconString = "Here.jpg"; SoldierClassExperience experience = new SoldierClassExperience(); experience.numberInForcedDeck = 1; experience.numberInDeck = 2; experience.killAssistsPerKill = 3; SoldierClassEquipment equipment = new SoldierClassEquipment(); equipment.squaddieLoadout = "Squaddie_TestClass"; equipment.allowedArmors = "squaddie"; List <Weapon> weapons = new List <Weapon>(); Weapon weaponA = new Weapon(); weaponA.weaponName = "shotgun"; weaponA.weaponSlot = WeaponSlot.Primary; weapons.Add(weaponA); Weapon weaponB = new Weapon(); weaponB.weaponName = "sword"; weaponB.weaponSlot = WeaponSlot.Secondary; weapons.Add(weaponB); equipment.weapons = weapons; List <SoldierClassAbility> abilities = new List <SoldierClassAbility>(); SoldierClassAbility abilityA = new SoldierClassAbility(); abilityA.internalName = "TestAbility"; abilityA.displayName = "Test Ability"; abilityA.description = "Hello"; abilityA.requiredMod = "My Mod"; abilityA.rank = SoldierRank.Corporal; abilityA.slot = 3; abilityA.weaponSlot = WeaponSlot.Primary; abilities.Add(abilityA); SoldierClassAbility abilityB = new SoldierClassAbility(); abilityB.internalName = "TestAbility2"; abilityB.displayName = "Test Ability2"; abilityB.description = "Hello2"; abilityB.requiredMod = "My Mod2"; abilityB.rank = SoldierRank.Lieutenant; abilityB.slot = 1; abilityB.weaponSlot = WeaponSlot.Secondary; abilities.Add(abilityB); List <SoldierClassStat> stats = new List <SoldierClassStat>(); SoldierClassStat statA = new SoldierClassStat(); statA.stat = Stat.Strength; statA.value = 2; statA.rank = SoldierRank.Sergeant; stats.Add(statA); SoldierClassStat statB = new SoldierClassStat(); statB.stat = Stat.Aim; statB.value = 0; statB.rank = SoldierRank.Squaddie; stats.Add(statB); SoldierClass soldierClass = new SoldierClass(); soldierClass.metadata = metadata; soldierClass.experience = experience; soldierClass.equipment = equipment; soldierClass.soldierAbilities = abilities; soldierClass.stats = stats; XElement actual = XcomPerkManager.Conversion.Convert.toXmlSoldierClass(soldierClass); XElement expected = new XElement(Constants.XML_CLASS); }