예제 #1
0
        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);
        }
예제 #2
0
        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());
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }