# HG changeset patch # User IBBoard # Date 1311451286 0 # Node ID 7036bf04e95544694874d447d09a7bf6d4a30798 # Parent 04f4c2fea356e57cb18907c17475fc31ac94e23c Re #351: Add extensible requirement handling method * Move to using registered requirement factories diff -r 04f4c2fea356 -r 7036bf04e955 API/Factories/Xml/WarFoundryXmlRaceFactory.cs --- a/API/Factories/Xml/WarFoundryXmlRaceFactory.cs Sat Jul 23 19:53:42 2011 +0000 +++ b/API/Factories/Xml/WarFoundryXmlRaceFactory.cs Sat Jul 23 20:01:26 2011 +0000 @@ -397,7 +397,7 @@ foreach (XmlElement extraData in WarFoundryXmlFactoryUtils.SelectNodes(elem, "race:requirements/race:requirement")) { string name = extraData.GetAttribute("requirementName"); - UnitRequiresAtLeastNUnitsRequirementFactory reqFactory = GetRequirementFactory(name); + IRequirementFactory reqFactory = WarFoundryLoader.GetRequirementFactory(name); if (reqFactory != null) { string data = WarFoundryXmlFactoryUtils.SelectSingleElement(extraData, "race:data").InnerText; @@ -405,19 +405,6 @@ type.AddRequirement(req); } } - } - - private UnitRequiresAtLeastNUnitsRequirementFactory GetRequirementFactory (string name) - { - - UnitRequiresAtLeastNUnitsRequirementFactory factory = null; - - if ("RequiresAtLeastNUnits".Equals(name)) - { - factory = new UnitRequiresAtLeastNUnitsRequirementFactory(); - } - - return factory; } private void LoadExtraDataForUnitType(XmlElement elem, UnitType type)