Mercurial > repos > IBBoard.WarFoundry.API
view api/Requirements/UnitRequirementMinNumber.cs @ 11:5a1df00b0359
Re #9 - Make WarFoundry API load files in small methods
* Add "add unit type" and "add equipment" methods to Race
* Deprecate old "set unit types" and "set equipment" methods on Race
* Update WarFoundryXmlFactory to use new methods
* Create DuplicateItemException for later use
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sun, 18 Jan 2009 16:24:03 +0000 |
parents | 520818033bb6 |
children | 306558904c2a |
line wrap: on
line source
// UnitRequirementMinNumber.cs // // Copyright (C) 2008 IBBoard // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License version 2.1 of the License as published by the Free // Software Foundation. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // using System; using IBBoard.WarFoundry.API.Objects; namespace IBBoard.WarFoundry.API.Requirements { public class UnitRequirementMinNumber : UnitRequirement { private int minUnitCount; public UnitRequirementMinNumber(UnitType type, int minNumber) : base(type) { minUnitCount = minNumber; } public override string Description { get { return "You must include at least "+minUnitCount+" "+unitType.Name+" units in an army"; } } protected override AbstractFailedRequirement CanAddToArmy(Army army, UnitType type) { return null; } protected override AbstractFailedRequirement CanRemoveFromArmy (Army army, UnitType type) { FailedUnitRequirement failed = null; if (army.GetUnitTypeCount(type) <= minUnitCount) { failed = new FailedUnitRequirement(this); } return failed; } } }