Mercurial > repos > IBDev-IBBoard.WarFoundry.GUI.WinForms
view Util/UnitEquipmentChoice.cs @ 99:acaea18ac0a1
Fixes #220: Make percentage and numeric amounts more obvious
* Differentiate between "free" and costed and build up a new string with more options
* Make use of translations for all of the parts of the line
Re #179: Make sure that translations are used throughout UI
* Add new translations to file
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 21 Nov 2009 16:41:28 +0000 |
parents | 1576f669b3eb |
children | 3e78af88ceb3 |
line wrap: on
line source
// This file (UnitEquipmentChoice.cs) is a part of the IBBoard.WarFoundry.GUI.WinForms project and is copyright 2009 IBBoard. // // The file and the library/program it is in are licensed and distributed, without warranty, under the GNU Affero GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license. using System; using IBBoard.Lang; using IBBoard.WarFoundry.API.Objects; using IBBoard.WarFoundry.API.Util; namespace IBBoard.WarFoundry.GUI.WinForms.Util { /// <summary> /// A helper object that holds an equipment choice for a unit. /// </summary> public class UnitEquipmentChoice { private Unit unit; private UnitEquipmentItem item; public UnitEquipmentChoice(Unit unit, UnitEquipmentItem unitItem) { this.unit = unit; item = unitItem; } public override string ToString() { String translation = ""; if (item.Cost == 0) { translation = Translation.GetTranslation("equipmentAmountWithZeroCost", "{0} ({1} - free)", item.Name, GetAmountString()); } else { translation = Translation.GetTranslation("equipmentAmountWithCost", "{0} ({1} at {2}pts each)", item.Name, GetAmountString(), item.Cost); } return translation; } private string GetAmountString() { double amount = UnitEquipmentUtil.GetEquipmentAmount(unit, item); string amountString = ""; if (UnitEquipmentUtil.GetEquipmentAmountIsRatio(unit, item)) { int number = UnitEquipmentUtil.GetEquipmentAmountTaken(unit, item); if (amount == 100) { amountString = Translation.GetTranslation("equipmentAmountAll", "all ({1})", amount, number); } else { amountString = Translation.GetTranslation("equipmentAmountPercentage", "{0}% ({1})", amount, number); } } else { amountString = amount.ToString(); } return amountString; } public UnitEquipmentItem Item { get { return item; } } } }