Ejemplo n.º 1
0
 public ArmorPiece(
     int id,
     Dictionary <string, string> name,
     EquipmentType equipmentType,
     int rarity,
     int[] slots,
     IAbility[] abilities,
     IArmorSetSkill[] armorSetSkills,
     IArmorPieceDefense defense,
     IArmorPieceResistances resistances,
     IArmorPieceAttributes attributes,
     IArmorPieceAssets assets,
     IFullArmorSet fullArmorSet,
     IEvent evt
     )
 {
     Id             = id;
     Name           = name;
     Type           = equipmentType;
     Rarity         = rarity;
     Slots          = slots;
     Abilities      = abilities;
     ArmorSetSkills = armorSetSkills;
     Defense        = defense;
     Resistances    = resistances;
     Attributes     = attributes;
     Assets         = assets;
     FullArmorSet   = fullArmorSet;
     Event          = evt;
 }
Ejemplo n.º 2
0
        private static bool Equals(IFullArmorSet x, IFullArmorSet y)
        {
            if (x == null || y == null)
            {
                return(x == y);
            }

            if (x.Id != y.Id)
            {
                return(false);
            }

            if (x.ArmorPieces.Length != y.ArmorPieces.Length)
            {
                return(false);
            }

            for (int i = 0; i < x.ArmorPieces.Length; i++)
            {
                if (x.ArmorPieces[i].Id != y.ArmorPieces[i].Id)
                {
                    return(false);
                }
            }

            return(true);
        }
Ejemplo n.º 3
0
        private void CheckFullArmorSets(
            List <SolverDataEquipmentModel> source,
            List <SolverDataEquipmentModel> heads,
            List <SolverDataEquipmentModel> chests,
            List <SolverDataEquipmentModel> gloves,
            List <SolverDataEquipmentModel> waists,
            List <SolverDataEquipmentModel> legs
            )
        {
            for (int i = 0; i < source.Count; i++)
            {
                IFullArmorSet fullArmorSet = ((IArmorPiece)source[i].Equipment).FullArmorSet;

                if (fullArmorSet == null)
                {
                    continue;
                }

                IArmorPiece[] setPieces = fullArmorSet.ArmorPieces;

                IArmorPiece head  = setPieces.First(x => x.Type == EquipmentType.Head);
                IArmorPiece chest = setPieces.First(x => x.Type == EquipmentType.Chest);
                IArmorPiece glove = setPieces.First(x => x.Type == EquipmentType.Gloves);
                IArmorPiece waist = setPieces.First(x => x.Type == EquipmentType.Waist);
                IArmorPiece leg   = setPieces.First(x => x.Type == EquipmentType.Legs);

                if (heads.Where(x => x.ToBeRemoved == false).Any(x => x.Equipment.Id == head.Id) == false ||
                    chests.Where(x => x.ToBeRemoved == false).Any(x => x.Equipment.Id == chest.Id) == false ||
                    gloves.Where(x => x.ToBeRemoved == false).Any(x => x.Equipment.Id == glove.Id) == false ||
                    waists.Where(x => x.ToBeRemoved == false).Any(x => x.Equipment.Id == waist.Id) == false ||
                    legs.Where(x => x.ToBeRemoved == false).Any(x => x.Equipment.Id == leg.Id) == false)
                {
                    // if one piece is marked as to be removed, remove them all

                    heads.Where(x => x.Equipment.Id == head.Id).MarkAsToBeRemoved();
                    chests.Where(x => x.Equipment.Id == chest.Id).MarkAsToBeRemoved();
                    gloves.Where(x => x.Equipment.Id == glove.Id).MarkAsToBeRemoved();
                    waists.Where(x => x.Equipment.Id == waist.Id).MarkAsToBeRemoved();
                    legs.Where(x => x.Equipment.Id == leg.Id).MarkAsToBeRemoved();
                }
                else
                {
                    // otherwise, ensure they are all selected and not marked as to be removed

                    heads.Where(x => x.Equipment.Id == head.Id).MarkAsSelected();
                    chests.Where(x => x.Equipment.Id == chest.Id).MarkAsSelected();
                    gloves.Where(x => x.Equipment.Id == glove.Id).MarkAsSelected();
                    waists.Where(x => x.Equipment.Id == waist.Id).MarkAsSelected();
                    legs.Where(x => x.Equipment.Id == leg.Id).MarkAsSelected();
                }
            }
        }
Ejemplo n.º 4
0
 public void SetFullArmorSet(IFullArmorSet fullArmorSet)
 {
     FullArmorSet = fullArmorSet;
 }