xml.append("</ProduceResource>");
return xml.toString();
}
public ProduceResource initializeFromNode(Realm realm, Node node) {
ProduceResource produceResource = new ProduceResource();
Node inputNode = XMLConverterUtility.findNode(node, "Input");
if (inputNode != null) {
for (Node subNode = inputNode.getFirstChild(); subNode != null; subNode = subNode.getNextSibling()) {
if (subNode.getNodeType() == Node.ELEMENT_NODE) {
if (subNode.getNodeName().equals("Resource")) {
int id = Integer.parseInt(subNode.getAttributes().getNamedItem("id").getFirstChild().getNodeValue());
int amount = Integer.parseInt(subNode.getAttributes().getNamedItem("quantity").getFirstChild().getNodeValue());
Resource resource = realm.getResourceManager().getResource(id);
produceResource.addInput(resource, amount);
}
}
}
}
Node outputNode = XMLConverterUtility.findNode(node, "Output");
if (outputNode != null) {
for (Node subNode = outputNode.getFirstChild(); subNode != null; subNode = subNode.getNextSibling()) {
if (subNode.getNodeType() == Node.ELEMENT_NODE) {
if (subNode.getNodeName().equals("Resource")) {
int id = Integer.parseInt(subNode.getAttributes().getNamedItem("id").getFirstChild().getNodeValue());
int amount = Integer.parseInt(subNode.getAttributes().getNamedItem("quantity").getFirstChild().getNodeValue());
int max = Integer.parseInt(subNode.getAttributes().getNamedItem("max").getFirstChild().getNodeValue());
Resource resource = realm.getResourceManager().getResource(id);
produceResource.addOutput(resource, amount, max);
}
}
}
}
return produceResource;