view Util/UnitEquipmentChoice.cs @ 62:0e7c257ca8d6 WarFoundry_v0.1beta2_Winforms

Fixes #164: Show unit cost in army tree * Add points value in army tree for units, category and army (aggregating as it goes up the tree) * Add code to update tree node text as points values change * Remove references to now deprecated points-related properties Also: * Add rolling log file appender to logging config
author IBBoard <dev@ibboard.co.uk>
date Sat, 19 Sep 2009 19:44:45 +0000
parents 1576f669b3eb
children acaea18ac0a1
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.WarFoundry.API.Objects;



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()
        {
            return String.Format("{0} (For {1} at {2}pts each)", item.Name, GetAmountString(), item.Cost);
        }

		private string GetAmountString()
		{
			if (unit.GetEquipmentAmountIsRatio(item))
			{
				return UnitEquipmentRatioSelection.GetEquipmentAmountString(unit.GetEquipmentAmount(item));
			}
			else
			{
				return UnitEquipmentNumericSelection.GetEquipmentAmountString(unit.GetEquipmentAmount(item));
			}
		}

        public UnitEquipmentItem Item
        {
            get { return item; }
        }
    }
}