diff api/Util/UnitEquipmentUtil.cs @ 212:dce340f9cedc

Re #217: Rounding problem with equipment cost calculations * Temporary solution (which I thought I'd already committed yesterday) to make sure that rounding of amount doesn't round outside limit if limit and item rounding directions are different Re #220: Make percentage and numeric amounts more obvious * Deprecate some calculation and presentation methods and move them to UnitEquipmentUtils * Add method to return the number of equipment items taken rather than the amount taken
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Nov 2009 16:40:54 +0000
parents e586ea79c102
children 6fe0cb1bf74f
line wrap: on
line diff
--- a/api/Util/UnitEquipmentUtil.cs	Sat Nov 21 11:50:48 2009 +0000
+++ b/api/Util/UnitEquipmentUtil.cs	Sat Nov 21 16:40:54 2009 +0000
@@ -178,5 +178,29 @@
 		{
 			return GetMinOfSlotLimitAndEquipmentLimit(equip, equip.MinLimit, unit);
 		}
+
+		public static double GetEquipmentAmount(Unit unit, UnitEquipmentItem item)
+		{
+			double amount = 0;
+			AbstractUnitEquipmentItemSelection selection = unit.GetEquipmentSelection(item);
+
+			if (selection != null)
+			{
+				amount = selection.AmountTaken;
+			}
+
+			return amount;
+		}
+
+		public static bool GetEquipmentAmountIsRatio(Unit unit, UnitEquipmentItem item)
+		{
+			return (unit.GetEquipmentSelection(item) is UnitEquipmentRatioSelection);
+		}
+
+		public static int GetEquipmentAmountTaken(Unit unit, UnitEquipmentItem item)
+		{
+			AbstractUnitEquipmentItemSelection selection = unit.GetEquipmentSelection(item);
+			return (selection == null ? 0 : selection.NumberTaken);
+		}
 	}
 }