Mercurial > repos > IBBoard.WarFoundry.API
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 { |