Beispiel #1
0
 private static bool CanBeEquiped(
     IEquipmentCarrier equipmentCarrier,
     int slotIndex,
     Equipment equipment)
 {
     return(EquipmentCarrierHelper.CanBeEquiped(equipmentCarrier, slotIndex, equipment));
 }
Beispiel #2
0
        protected override void ValidateSetEquipment(Equipment equipment, int slotIndex)
        {
            var slot = Slots[slotIndex];

            if (!EquipmentCarrierHelper.CheckSlotCompability(equipment, slot))
            {
                throw new ArgumentException($"Для экипировки указан слот {slot}, не подходящий для данного типа предмета {equipment}.");
            }

            if (!EquipmentCarrierHelper.CheckDualCompability(this, equipment, slot, slotIndex))
            {
                throw new InvalidOperationException($"Попытка экипировать предмет {equipment}, несовместимый с текущий экипировкой.");
            }

            if (!EquipmentCarrierHelper.CheckShieldCompability(this, equipment, slot, slotIndex))
            {
                throw new InvalidOperationException("Попытка экипировать два щита.");
            }
        }