Mercurial > repos > IBBoard.WarFoundry.API
comparison API/Factories/Xml/WarFoundryXmlRaceFactory.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 | ff7f1b319b4e |
children | 7036bf04e955 |
comparison
equal
deleted
inserted
replaced
378:ff7f1b319b4e | 379:04f4c2fea356 |
---|---|
399 string name = extraData.GetAttribute("requirementName"); | 399 string name = extraData.GetAttribute("requirementName"); |
400 UnitRequiresAtLeastNUnitsRequirementFactory reqFactory = GetRequirementFactory(name); | 400 UnitRequiresAtLeastNUnitsRequirementFactory reqFactory = GetRequirementFactory(name); |
401 | 401 |
402 if (reqFactory != null) { | 402 if (reqFactory != null) { |
403 string data = WarFoundryXmlFactoryUtils.SelectSingleElement(extraData, "race:data").InnerText; | 403 string data = WarFoundryXmlFactoryUtils.SelectSingleElement(extraData, "race:data").InnerText; |
404 UnitRequiresAtLeastNUnitsRequirement req = reqFactory.CreateRequirement(type, data, this); | 404 IRequirement req = reqFactory.CreateRequirement(type, data, this); |
405 type.AddRequirement(req); | 405 type.AddRequirement(req); |
406 } | 406 } |
407 } | 407 } |
408 } | 408 } |
409 | 409 |