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; }
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); }
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(); } } }
public void SetFullArmorSet(IFullArmorSet fullArmorSet) { FullArmorSet = fullArmorSet; }