Mercurial > repos > snowblizz-super-API-ideas
changeset 365:2fed577a1ea7
Re #27: Unit requirements
* Remove old requirements
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 02 May 2011 19:30:35 +0000 |
parents | 0dd8dbe8afe9 |
children | 4993e6f7c509 |
files | API/Requirements/AbstractArmyRequirement.cs API/Requirements/AbstractFailedRequirement.cs API/Requirements/AbstractRequirement.cs API/Requirements/AbstractUnitRequirement.cs API/Requirements/Delegates.cs API/Requirements/FailedRequirement.cs API/Requirements/FailedUnitRequirement.cs API/Requirements/RequirementAND.cs API/Requirements/RequirementOR.cs API/Requirements/UnitExcludesRequirement.cs API/Requirements/UnitRequirement.cs API/Requirements/UnitRequirementItem.cs API/Requirements/UnitRequirementMaxNumber.cs API/Requirements/UnitRequirementMinNumber.cs API/Requirements/UnitRequiresAtLeastRequirement.cs IBBoard.WarFoundry.API.csproj |
diffstat | 16 files changed, 0 insertions(+), 680 deletions(-) [+] |
line wrap: on
line diff
--- a/API/Requirements/AbstractArmyRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ -// This file (AbstractArmyRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; -using IBBoard.WarFoundry.API.Objects; - - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Abstract class for any requirement for adding an object to an army, e.g. adding units. - /// </summary> - public abstract class AbstractArmyRequirement : AbstractRequirement - { - protected abstract AbstractFailedRequirement CanAddToArmy(Army army); - protected abstract AbstractFailedRequirement CanRemoveFromArmy(Army army); - - public override AbstractFailedRequirement CanAddToWarFoundryObject (WarFoundryObject obj) - { - AbstractFailedRequirement fail = null; - - if (obj is Army) - { - fail = CanAddToArmy((Army)obj); - } - else - { - fail = new FailedRequirement(this); - } - - return fail; - } - - public override AbstractFailedRequirement CanRemoveFromWarFoundryObject (WarFoundryObject obj) - { - AbstractFailedRequirement fail = null; - - if (obj is Army) - { - fail = CanRemoveFromArmy((Army)obj); - } - else - { - fail = new FailedRequirement(this); - } - - return fail; - } - } -}
--- a/API/Requirements/AbstractFailedRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -// This file (AbstractFailedRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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; - -namespace IBBoard.WarFoundry.API.Requirements -{ - public abstract class AbstractFailedRequirement - { - protected AbstractRequirement failedReq; - - public AbstractFailedRequirement(AbstractRequirement req) - { - failedReq = req; - } - - public abstract string Description { get; } - } -}
--- a/API/Requirements/AbstractRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,19 +0,0 @@ -// This file (AbstractRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.API.Requirements -{ - /// <summary> - /// The base class for Requirements. Specific types of abstract requirement should extend this class. - /// </summary> - public abstract class AbstractRequirement - { - public abstract string Description { get; } - public abstract AbstractFailedRequirement CanAddToWarFoundryObject(WarFoundryObject obj); - public abstract AbstractFailedRequirement CanRemoveFromWarFoundryObject(WarFoundryObject obj); - } -}
--- a/API/Requirements/AbstractUnitRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,50 +0,0 @@ -// This file (AbstractUnitRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.API.Requirements -{ - /// <summary> - /// Base abstract class for all requirements related to adding/removing something from a Unit (e.g. adding equipment or abilities) - /// </summary> - public abstract class AbstractUnitRequirement : AbstractRequirement - { - protected abstract AbstractFailedRequirement CanAddToUnit(Unit unit); - protected abstract AbstractFailedRequirement CanRemoveFromUnit(Unit unit); - - public override AbstractFailedRequirement CanAddToWarFoundryObject (WarFoundryObject obj) - { - AbstractFailedRequirement fail = null; - - if (obj is Unit) - { - fail = CanAddToUnit((Unit)obj); - } - else - { - fail = new FailedRequirement(this); - } - - return fail; - } - - public override AbstractFailedRequirement CanRemoveFromWarFoundryObject (WarFoundryObject obj) - { - AbstractFailedRequirement fail = null; - - if (obj is Unit) - { - fail = CanRemoveFromUnit((Unit)obj); - } - else - { - fail = new FailedRequirement(this); - } - - return fail; - } - } -}
--- a/API/Requirements/Delegates.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -// This file (Delegates.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; - -namespace IBBoard.WarFoundry.API.Requirements -{ - public delegate void FailedUnitRequirementDelegate(List<FailedUnitRequirement> failedRequirements); -}
--- a/API/Requirements/FailedRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -// This file (FailedRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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; - -namespace IBBoard.WarFoundry.API.Requirements -{ - public class FailedRequirement : AbstractFailedRequirement - { - public FailedRequirement(AbstractRequirement req) : base(req) - { - } - - public override string Description - { - get { return failedReq.Description; } - } - } -}
--- a/API/Requirements/FailedUnitRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -// This file (FailedUnitRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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; - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Summary description for UnitRequirement. - /// </summary> - public class FailedUnitRequirement : AbstractFailedRequirement - { - public FailedUnitRequirement(UnitRequirement requirement) : base(requirement) - { - } - - public override string Description - { - get { return failedReq.Description; } - } - - } -}
--- a/API/Requirements/RequirementAND.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -// This file (RequirementAND.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; -using IBBoard.Lang; -using IBBoard.WarFoundry.API.Objects; - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Summary description for RequirementAND. - /// </summary> - public class RequirementAND : AbstractRequirement - { - private static string and = Translation.GetTranslation("requirementAND", "{0} and {1}"); - - private AbstractRequirement reqA, reqB; - - public RequirementAND(AbstractRequirement requirementA, AbstractRequirement requirementB) - { - reqA = requirementA; - reqB = requirementB; - } - - public override AbstractFailedRequirement CanAddToWarFoundryObject(WarFoundryObject obj) - { - FailedRequirement failed = null; - - if (reqA.CanAddToWarFoundryObject(obj) !=null || reqB.CanAddToWarFoundryObject(obj)!=null) - { - failed = new FailedRequirement(this); - } - - return failed; - } - - public override AbstractFailedRequirement CanRemoveFromWarFoundryObject(WarFoundryObject obj) - { - FailedRequirement failed = null; - - if (reqA.CanRemoveFromWarFoundryObject(obj) !=null || reqB.CanRemoveFromWarFoundryObject(obj)!=null) - { - failed = new FailedRequirement(this); - } - - return failed; - } - - public override string Description - { - get { return String.Format(and, reqA.Description, reqB.Description); } - } - } -}
--- a/API/Requirements/RequirementOR.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -// This file (RequirementOR.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; -using IBBoard.Lang; -using IBBoard.WarFoundry.API.Objects; - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Summary description for UnitRequirementOR. - /// </summary> - public class RequirementOR : AbstractRequirement - { - private static string or = Translation.GetTranslation("requirementOR", "{0} or {1}"); - - private AbstractRequirement reqA, reqB; - - public RequirementOR(AbstractRequirement requirementA, AbstractRequirement requirementB) - { - reqA = requirementA; - reqB = requirementB; - } - - public override AbstractFailedRequirement CanAddToWarFoundryObject(WarFoundryObject obj) - { - FailedRequirement failed = null; - - if (reqA.CanAddToWarFoundryObject(obj) !=null && reqB.CanAddToWarFoundryObject(obj)!=null) - { - failed = new FailedRequirement(this); - } - - return failed; - } - - public override AbstractFailedRequirement CanRemoveFromWarFoundryObject(WarFoundryObject obj) - { - FailedRequirement failed = null; - - if (reqA.CanRemoveFromWarFoundryObject(obj)!=null && reqB.CanRemoveFromWarFoundryObject(obj)!=null) - { - failed = new FailedRequirement(this); - } - - return failed; - } - - public override string Description - { - get { return String.Format(or, reqA.Description, reqB.Description); } - } - } -}
--- a/API/Requirements/UnitExcludesRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,68 +0,0 @@ -// This file (UnitExcludesRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; -using System.Text; -using IBBoard.WarFoundry.API.Objects; -using IBBoard.Lang; - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Summary description for UnitExcludesRequirement. - /// </summary> - public class UnitExcludesRequirement : UnitRequirement - { - private UnitRequirementItem[] excludingTypes; - - public UnitExcludesRequirement(UnitType type, UnitRequirementItem[] excludingUnitTypes) : base(type) - { - excludingTypes = excludingUnitTypes; - } - - public override string Description - { - get - { - string otherUnits = GetOtherUnitTypeNames(); - return Translation.GetTranslation("requirementUnitExcludesDescription", "{0} can only be taken if none of the following are taken: {1}", unitType.Name, otherUnits); - } - } - - private string GetOtherUnitTypeNames() - { - StringBuilder sb = new StringBuilder(); - - foreach (UnitRequirementItem req in excludingTypes) - { - sb.Append(req.UnitType.Name); - } - - return sb.ToString(); - } - - protected override AbstractFailedRequirement CanAddToArmy(Army army, UnitType type) - { - FailedUnitRequirement failed = null; - - for (int i = 0; i<excludingTypes.Length; i++) - { - if (army.GetUnitTypeCount(excludingTypes[i].UnitType) > 0) - { - failed = new FailedUnitRequirement(this); - break; - } - } - - return failed; - } - - protected override AbstractFailedRequirement CanRemoveFromArmy(Army army, UnitType type) - { - return null; - } - - } -}
--- a/API/Requirements/UnitRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ -// This file (UnitRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; -using IBBoard.WarFoundry.API; -using IBBoard.WarFoundry.API.Objects; - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Summary description for UnitRequirement. - /// </summary> - public abstract class UnitRequirement : AbstractArmyRequirement - { - protected UnitType unitType; - - protected UnitRequirement(UnitType requirementFor) - { - unitType = requirementFor; - } - - /// <summary> - /// Checks whether the specified unit type can be added to the specified army. Returns a <see cref="FailedRequirement"> obejct if a unit of that type cannot legally be added, or no failure (null) if it can be added. - /// </summary> - /// <param name="army"> - /// The <see cref="Army"/> that the unit should be checked for adding to - /// </param> - /// <param name="type"> - /// The <see cref="UnitType"/> that is being checked. - /// </param> - /// <returns> - /// A <see cref="AbstractFailedRequirement"/> if the requirement means the <see cref="UnitType"/> cannot be legally added, else <code>null</code>. - /// </returns> - protected abstract AbstractFailedRequirement CanAddToArmy(Army army, UnitType type); - - /// <summary> - /// Checks whether the specified unit can be added to the specified army. Returns a <see cref="FailedRequirement"> obejct if the unit cannot legally be added, or no failure (null) if it can be added. - /// </summary> - /// <param name="army"> - /// The <see cref="Army"/> that the unit should be checked for adding to - /// </param> - /// <param name="type"> - /// The <see cref="Unit"/> that is being checked. - /// </param> - /// <returns> - /// A <see cref="AbstractFailedRequirement"/> if the requirement means the <see cref="Unit"/> cannot be legally added, else <code>null</code>. - /// </returns> - protected AbstractFailedRequirement CanAddToArmy(Army army, Unit unit) - { - return CanAddToArmy(army, unit.UnitType); - } - - /// <summary> - /// Checks whether the specified unit type can be removed from the specified army. Returns a <see cref="FailedRequirement"> obejct if a unit of that type cannot legally be removed, or no failure (null) if it can be removed. - /// </summary> - /// <param name="army"> - /// The <see cref="Army"/> that the unit should be checked for adding to - /// </param> - /// <param name="type"> - /// The <see cref="UnitType"/> that is being checked. - /// </param> - /// <returns> - /// A <see cref="AbstractFailedRequirement"/> if the requirement means the <see cref="UnitType"/> cannot be legally added, else <code>null</code>. - /// </returns> - protected abstract AbstractFailedRequirement CanRemoveFromArmy(Army army, UnitType type); - - /// <summary> - /// Checks whether the specified unit can be removed from the specified army. Returns a <see cref="FailedRequirement"> obejct if the unit cannot legally be removed, or no failure (null) if it can be removed. - /// </summary> - /// <param name="army"> - /// The <see cref="Army"/> that the unit should be checked for adding to - /// </param> - /// <param name="type"> - /// The <see cref="Unit"/> that is being checked. - /// </param> - /// <returns> - /// A <see cref="AbstractFailedRequirement"/> if the requirement means the <see cref="Unit"/> cannot be legally removed, else <code>null</code>. - /// </returns> - protected AbstractFailedRequirement CanRemoveFromArmy(Army army, Unit unit) - { - return CanRemoveFromArmy(army, unit.UnitType); - } - - protected override AbstractFailedRequirement CanAddToArmy(Army army) - { - return CanAddToArmy(army, unitType); - } - - protected override AbstractFailedRequirement CanRemoveFromArmy(Army army) - { - return CanRemoveFromArmy(army, unitType); - } - } -}
--- a/API/Requirements/UnitRequirementItem.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,36 +0,0 @@ -// This file (UnitRequirementItem.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.API.Requirements -{ - /// <summary> - /// Summary description for UnitRequirementItem. - /// </summary> - public class UnitRequirementItem - { - private UnitType type; - private int requiredNum; - - public UnitRequirementItem(UnitType unitType, int reqNumber) - { - type = unitType; - requiredNum = reqNumber; - } - - public UnitRequirementItem(UnitType type) : this(type, 1) { } - - public UnitType UnitType - { - get { return type; } - } - - public int Amount - { - get { return requiredNum; } - } - } -}
--- a/API/Requirements/UnitRequirementMaxNumber.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -// This file (UnitRequirementMaxNumber.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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; - -namespace IBBoard.WarFoundry.API.Requirements -{ - public class UnitRequirementMaxNumber : UnitRequirement - { - private int maxUnitCount; - - public UnitRequirementMaxNumber(UnitType type, int maxNumber) : base(type) - { - maxUnitCount = maxNumber; - } - - public override string Description - { - get { return Translation.GetTranslation("requirementUnitMaxNumber", "an army can contain up to {0} units of type {1}", maxUnitCount, unitType.Name); } - } - - protected override AbstractFailedRequirement CanAddToArmy (Army army, UnitType type) - { - FailedUnitRequirement failed = null; - - if (army.GetUnitTypeCount(type) >= maxUnitCount) - { - failed = new FailedUnitRequirement(this); - } - - return failed; - } - - protected override AbstractFailedRequirement CanRemoveFromArmy (Army army, UnitType type) - { - return null; - } - } -}
--- a/API/Requirements/UnitRequirementMinNumber.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -// This file (UnitRequirementMinNumber.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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; - -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 Translation.GetTranslation("requirementUnitMinNumber", "you must include at least {0} of {1} in an army", minUnitCount, unitType.Name); } - } - - 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; - } - } -}
--- a/API/Requirements/UnitRequiresAtLeastRequirement.cs Sun May 01 19:17:40 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,73 +0,0 @@ -// This file (UnitRequiresAtLeastRequirement.cs) is a part of the IBBoard.WarFoundry.API project and is copyright 2008, 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.Generic; -using System.Text; -using IBBoard.Lang; -using IBBoard.WarFoundry.API; -using IBBoard.WarFoundry.API.Objects; - -namespace IBBoard.WarFoundry.API.Requirements -{ - /// <summary> - /// Summary description for UnitRequiresRequirement. - /// </summary> - public class UnitRequiresAtLeastRequirement : UnitRequirement - { - private UnitRequirementItem[] requiredTypes; - private String unitList; - - public UnitRequiresAtLeastRequirement(UnitType type, UnitType requiredUnitType) : this(type, new UnitRequirementItem[]{new UnitRequirementItem(requiredUnitType)}) - { - } - - public UnitRequiresAtLeastRequirement(UnitType type, UnitRequirementItem[] requiredUnitTypes) : base(type) - { - requiredTypes = requiredUnitTypes; - bool first = true; - - foreach (UnitRequirementItem req in requiredTypes) - { - string reqString = Translation.GetTranslation("requirementUnitTypeAtLeastSingle", "{1} {0}", req.UnitType.Name, req.Amount); - - if (first) - { - first = false; - unitList = reqString; - } - else - { - unitList = Translation.GetTranslation("requirementUnitTypeAtLeastJoiner", "{0}, {1}", unitList, reqString); - } - } - } - - public override string Description - { - get { return Translation.GetTranslation("requirementUnitTypeAtLeast", "the army must include at least the following units to include a unit of type {0}: {1}", unitType.Name, unitList); } - } - - protected override AbstractFailedRequirement CanRemoveFromArmy(Army army, UnitType type) - { - return null; - } - - protected override AbstractFailedRequirement CanAddToArmy(Army army, UnitType type) - { - FailedRequirement failure = null; - - foreach (UnitRequirementItem req in requiredTypes) - { - if (army.GetUnitTypeCount(req.UnitType) < req.Amount) - { - failure = new FailedRequirement(this); - break; - } - } - - return failure; - } - } -}
--- a/IBBoard.WarFoundry.API.csproj Sun May 01 19:17:40 2011 +0000 +++ b/IBBoard.WarFoundry.API.csproj Mon May 02 19:30:35 2011 +0000 @@ -137,21 +137,6 @@ <Compile Include="API\Objects\UnitType.cs" /> <Compile Include="API\Objects\WarFoundryObject.cs" /> <Compile Include="API\Objects\WarFoundryStagedLoadingObject.cs" /> - <Compile Include="API\Requirements\AbstractArmyRequirement.cs" /> - <Compile Include="API\Requirements\AbstractFailedRequirement.cs" /> - <Compile Include="API\Requirements\AbstractRequirement.cs" /> - <Compile Include="API\Requirements\AbstractUnitRequirement.cs" /> - <Compile Include="API\Requirements\Delegates.cs" /> - <Compile Include="API\Requirements\FailedRequirement.cs" /> - <Compile Include="API\Requirements\FailedUnitRequirement.cs" /> - <Compile Include="API\Requirements\RequirementAND.cs" /> - <Compile Include="API\Requirements\RequirementOR.cs" /> - <Compile Include="API\Requirements\UnitExcludesRequirement.cs" /> - <Compile Include="API\Requirements\UnitRequirement.cs" /> - <Compile Include="API\Requirements\UnitRequirementItem.cs" /> - <Compile Include="API\Requirements\UnitRequirementMaxNumber.cs" /> - <Compile Include="API\Requirements\UnitRequirementMinNumber.cs" /> - <Compile Include="API\Requirements\UnitRequiresAtLeastRequirement.cs" /> <Compile Include="API\Savers\IWarFoundryFileSaver.cs" /> <Compile Include="API\Savers\WarFoundrySaver.cs" /> <Compile Include="API\Util\UnitEquipmentUtil.cs" />