# HG changeset patch # User IBBoard # Date 1256674660 0 # Node ID 3577bfb7702b99f0d7965239ff3818c2dcc6c271 # Parent cedf8bba1d523535ca02e0a2d8456bcb929c91ff Re #198: Add equipment slots * Add GetMinEquipmentAmount method diff -r cedf8bba1d52 -r 3577bfb7702b api/Util/UnitEquipmentUtil.cs --- a/api/Util/UnitEquipmentUtil.cs Tue Oct 27 20:09:40 2009 +0000 +++ b/api/Util/UnitEquipmentUtil.cs Tue Oct 27 20:17:40 2009 +0000 @@ -102,16 +102,28 @@ public static int GetMaxEquipmentCount (Unit unit, UnitEquipmentItem equip) { - int max = equip.MaxLimit.GetLimit(unit.Size); - AbstractLimit limit = unit.UnitType.GetEquipmentSlotLimit(equip.SlotName); + return GetEquipmentCountLimit (unit, equip); + } + + private static int GetEquipmentCountLimit (Unit unit, UnitEquipmentItem equip) + { + int unitSize = unit.Size; + int max = Math.Min (equip.MinLimit.GetLimit (unitSize), equip.MaxLimit.GetLimit (unitSize)); + AbstractLimit limit = unit.UnitType.GetEquipmentSlotLimit (equip.SlotName); if (!(limit is UnlimitedLimit)) { - int slotMax = limit.GetLimit(unit.Size) - unit.GetEquipmentAmountInSlot(equip.SlotName); - max = Math.Min(slotMax, max); + int slotMax = limit.GetLimit (unitSize) - unit.GetEquipmentAmountInSlot (equip.SlotName); + max = Math.Min (slotMax, max); } return max; } + + + public static int GetMinEquipmentCount (Unit unit, UnitEquipmentItem equip) + { + return GetEquipmentCountLimit (unit, equip); + } } }