public override bool Equals(object obj)
        {
            SoldierClassEquipment other = obj as SoldierClassEquipment;

            if (other == null)
            {
                return(false);
            }

            if (!String.Equals(squaddieLoadout, other.squaddieLoadout))
            {
                return(false);
            }

            if (!String.Equals(allowedArmors, other.allowedArmors))
            {
                return(false);
            }

            if (!weapons.SequenceEqual(other.weapons))
            {
                return(false);
            }

            return(true);
        }
Пример #2
0
        private void bSave_Click(object sender, EventArgs e)
        {
            ClassOverview owner = Owner as ClassOverview;

            SoldierClassEquipment equipment = new SoldierClassEquipment();

            equipment.squaddieLoadout = tSquaddieLoadout.Text;
            equipment.allowedArmors   = tAllowedArmors.Text;
            equipment.weapons         = weapons.ToList();

            ValidationResult allowUpdate = equipment.allowUpdate();

            if (!allowUpdate.valid)
            {
                MessageBox.Show(allowUpdate.message, "Cannot save", MessageBoxButtons.OK);
                return;
            }

            SavedSoldiersManager manager = new SavedSoldiersManager();

            manager.saveEquipment(formerInternalName, equipment);

            owner.updateSoldiers();
            owner.selectSoldier(formerInternalName);

            Close();
        }
Пример #3
0
 public void displayEquipment(SoldierClassEquipment equipment)
 {
     laEquipmentSquaddieLoadout.Text = equipment.squaddieLoadout;
     laEquipmentPrimaryWeapon.Text   = equipment.primaryWeapon;
     laEquipmentSecondaryWeapon.Text = equipment.secondaryWeapon;
     laEquipmentAllowedArmors.Text   = equipment.allowedArmors;
 }
Пример #4
0
 public SoldierClass()
 {
     metadata         = new SoldierClassMetadata();
     experience       = new SoldierClassExperience();
     equipment        = new SoldierClassEquipment();
     soldierAbilities = new List <SoldierClassAbility>();
     stats            = new List <SoldierClassStat>();
 }
Пример #5
0
        public bool saveEquipment(string internalName, SoldierClassEquipment equipment)
        {
            XElement xmlEquipment    = getClassElement(internalName, Constants.XML_EQUIPMENT);
            XElement newXmlEquipment = new XElement(Conversion.Convert.toXmlEquipment(equipment));

            xmlEquipment.ReplaceWith(newXmlEquipment);
            document.Save(fullPath);
            return(true);
        }
Пример #6
0
        private SoldierClassEquipment readEquipment(XElement equipmentElement)
        {
            SoldierClassEquipment equipment = new SoldierClassEquipment();

            equipment.squaddieLoadout = equipmentElement.Element("squaddie_loadout").Value;
            //equipment.primaryWeapon = equipmentElement.Element("primary_weapon").Value;
            //equipment.secondaryWeapon = equipmentElement.Element("secondary_weapon").Value;
            equipment.allowedArmors = equipmentElement.Element("allowed_armors").Value;

            return(equipment);
        }
        public SoldierClassEquipment(SoldierClassEquipment other) : base()
        {
            squaddieLoadout = other.squaddieLoadout;
            primaryWeapon   = other.primaryWeapon;
            secondaryWeapon = other.secondaryWeapon;
            allowedArmors   = other.allowedArmors;

            weapons = new List <Weapon>();
            foreach (Weapon weapon in other.weapons)
            {
                weapons.Add(new Weapon(weapon));
            }
        }
Пример #8
0
        public SoldierClass(SoldierClass other)
        {
            metadata   = new SoldierClassMetadata(other.metadata);
            experience = new SoldierClassExperience(other.experience);
            equipment  = new SoldierClassEquipment(other.equipment);

            soldierAbilities = new List <SoldierClassAbility>();
            foreach (SoldierClassAbility soldierAbility in other.soldierAbilities)
            {
                soldierAbilities.Add(new SoldierClassAbility(soldierAbility));
            }

            stats = new List <SoldierClassStat>();
            foreach (SoldierClassStat stat in other.stats)
            {
                stats.Add(new SoldierClassStat(stat));
            }
        }
Пример #9
0
        public void updateClassEquipment(string formerInternalName, SoldierClassEquipment equipment)
        {
            XElement        parentElement   = document.Element(Constants.XML_CLASSES);
            List <XElement> soldierElements = parentElement.Elements(Constants.XML_CLASS).ToList();

            foreach (XElement soldierElement in soldierElements)
            {
                XElement metadataElement = soldierElement.Element("metadata");

                if (metadataElement.Element("internal_name").Value.Equals(formerInternalName))
                {
                    XElement experienceElement = soldierElement.Element("equipment");
                    experienceElement.Element("squaddie_loadout").Value = equipment.squaddieLoadout;
                    experienceElement.Element("primary_weapon").Value   = equipment.primaryWeapon;
                    experienceElement.Element("secondary_weapon").Value = equipment.secondaryWeapon;
                    experienceElement.Element("allowed_armors").Value   = equipment.allowedArmors;

                    break;
                }
            }

            document.Save(fullPath);
        }