view Util/UnitEquipmentChoice.cs @ 39:25dfeb1db285

Close #70: Add export to WinForms * Add export menu that is only available when an army exists, with a default "basic HTML" export
author IBBoard <dev@ibboard.co.uk>
date Tue, 01 Sep 2009 19:47:33 +0000
parents 6ab7ddc038f9
children 1576f669b3eb
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 System.Collections;
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;

        private static Hashtable equipObjs = new Hashtable();

        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; }
        }
    }
}