package tc.oc.pgm.modules; import java.util.logging.Logger; import org.jdom2.Document; import org.jdom2.Element; import tc.oc.pgm.map.MapModule; import tc.oc.pgm.map.MapModuleContext; import tc.oc.pgm.match.Match; import tc.oc.pgm.match.MatchModuleFactory; import tc.oc.pgm.module.ModuleDescription; import tc.oc.pgm.utils.XMLUtils; import tc.oc.pgm.xml.InvalidXMLException; @ModuleDescription(name="Max Build Height") public class MaxBuildHeightModule implements MapModule, MatchModuleFactory<MaxBuildHeightMatchModule> { private final int buildHeight; public MaxBuildHeightModule(int buildHeight) { this.buildHeight = buildHeight; } @Override public MaxBuildHeightMatchModule createMatchModule(Match match) { return new MaxBuildHeightMatchModule(match, this.buildHeight); } // --------------------- // ---- XML Parsing ---- // --------------------- public static MaxBuildHeightModule parse(MapModuleContext context, Logger logger, Document doc) throws InvalidXMLException { Element maxBuildHeightEl = XMLUtils.getUniqueChild(doc.getRootElement(), "maxbuildheight"); if(maxBuildHeightEl == null) { return null; } else { return new MaxBuildHeightModule(XMLUtils.parseNumber(maxBuildHeightEl, Integer.class)); } } }