Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison API/Factories/Requirement/UnitRequiresAtLeastNUnitsRequirementFactory.cs @ 379:04f4c2fea356
Re #351: Add extensible requirement handling method
* Extract common IRequirementFactory interface
* Drop back to just returning IRequirement from factory to simplify generics
* Add initial registration of requirement factories
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 23 Jul 2011 19:53:42 +0000 |
parents | c3b0b28bad48 |
children | 3882b533d99d |
comparison
equal
deleted
inserted
replaced
378:ff7f1b319b4e | 379:04f4c2fea356 |
---|---|
5 using IBBoard.WarFoundry.API.Objects; | 5 using IBBoard.WarFoundry.API.Objects; |
6 using IBBoard.WarFoundry.API.Objects.Requirement; | 6 using IBBoard.WarFoundry.API.Objects.Requirement; |
7 | 7 |
8 namespace IBBoard.WarFoundry.API.Factories.Requirement | 8 namespace IBBoard.WarFoundry.API.Factories.Requirement |
9 { | 9 { |
10 public class UnitRequiresAtLeastNUnitsRequirementFactory | 10 public class UnitRequiresAtLeastNUnitsRequirementFactory : IRequirementFactory |
11 { | 11 { |
12 public UnitRequiresAtLeastNUnitsRequirementFactory() | 12 public UnitRequiresAtLeastNUnitsRequirementFactory() |
13 { | 13 { |
14 //Do nothing special | 14 //Do nothing special |
15 } | 15 } |
16 | 16 |
17 public UnitRequiresAtLeastNUnitsRequirement CreateRequirement<SOURCE_FILE_TYPE, ENTRY_TYPE>(UnitType type, string data, IRaceFactory<SOURCE_FILE_TYPE, ENTRY_TYPE> raceFactory) | 17 public string AppliesToID { |
18 get { | |
19 return "RequiresAtLeastNUnits"; | |
20 } | |
21 } | |
22 | |
23 public IRequirement CreateRequirement<SOURCE_FILE_TYPE, ENTRY_TYPE>(UnitType type, string data, IRaceFactory<SOURCE_FILE_TYPE, ENTRY_TYPE> raceFactory) | |
18 { | 24 { |
19 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(type); | 25 UnitRequiresAtLeastNUnitsRequirement req = new UnitRequiresAtLeastNUnitsRequirement(type); |
20 Race race = type.Race; | 26 Race race = type.Race; |
21 AddRequirements(req, race, data, raceFactory); | 27 AddRequirements(req, race, data, raceFactory); |
22 return req; | 28 return req; |