comparison api/Objects/UnitEquipmentRatioSelection.cs @ 214:1b718b67f7f6

Re #179: Make sure that translations are used throughout UI * Fix locations in the API that are used in the front-end
author IBBoard <dev@ibboard.co.uk>
date Sat, 21 Nov 2009 21:27:07 +0000
parents dce340f9cedc
children ece26f6a62f3
comparison
equal deleted inserted replaced
213:c6713a1b4c0d 214:1b718b67f7f6
25 25
26 public override int NumberTaken 26 public override int NumberTaken
27 { 27 {
28 get 28 get
29 { 29 {
30 double exactNumberTaken = (AmountTaken / 100) * EquipmentForUnit.Size; 30 return CalculateNumberTaken (EquipmentForUnit, EquipmentItem, AmountTaken);
31 int wholeNumberTaken = (int) IBBMath.Round(exactNumberTaken, EquipmentItem.RoundNumberUp);
32 int maxTaken = UnitEquipmentUtil.GetMaxEquipmentCount(EquipmentForUnit, EquipmentItem);
33 int minTaken = UnitEquipmentUtil.GetMinEquipmentCount(EquipmentForUnit, EquipmentItem);
34 return Math.Min(Math.Max(wholeNumberTaken, minTaken), maxTaken);
35 } 31 }
32 }
33
34 internal static int CalculateNumberTaken (Unit unit, UnitEquipmentItem item, double ratioTaken)
35 {
36 double exactNumberTaken = (ratioTaken / 100) * unit.Size;
37 int wholeNumberTaken = (int)IBBMath.Round (exactNumberTaken, item.RoundNumberUp);
38 int maxTaken = UnitEquipmentUtil.GetMaxEquipmentCount (unit, item);
39 int minTaken = UnitEquipmentUtil.GetMinEquipmentCount (unit, item);
40 return Math.Min (Math.Max (wholeNumberTaken, minTaken), maxTaken);
36 } 41 }
37 42
38 [Obsolete("Implementation is down to the UI")] 43 [Obsolete("Implementation is down to the UI")]
39 public override string GetEquipmentAmountString () 44 public override string GetEquipmentAmountString ()
40 { 45 {