Mercurial > repos > IBDev-IBBoard.WarFoundry.API
view api/Requirements/UnitRequirementMinNumber.cs @ 13:ad8eaed12e66
Re #9 - Load in smaller methods
* Fix earlier commit that caused exceptions about already being in dictionary for first object by caching before adding
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Thu, 22 Jan 2009 20:26:08 +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; } } }