void XmlMapHandler::WriteLayer(wxXmlNode* root, const Map& map, const Layer& layer) { VerboseLog("Writing a Layer"); wxXmlNode* node = new wxXmlNode(root, wxXML_ELEMENT_NODE, "Layer"); wxString layerdata = "\n"; for (unsigned int i = 0; i < layer.GetHeight(); i++) { layerdata << "\t\t\t"; for (unsigned int j = 0; j < layer.GetWidth(); j++) layerdata << layer.At(j, i) << ", "; layerdata << "\n"; } wxXmlNode* data = new wxXmlNode(node, wxXML_ELEMENT_NODE, "Data"); new wxXmlNode(data, wxXML_TEXT_NODE, "", layerdata); wxXmlNode* dimensions = new wxXmlNode(node, wxXML_ELEMENT_NODE, "Dimensions"); new wxXmlNode(dimensions, wxXML_TEXT_NODE, "", wxString::Format("%i, %i", layer.GetWidth(), layer.GetHeight())); WriteAttributes(node, layer); wxXmlNode* name = new wxXmlNode(node, wxXML_ELEMENT_NODE, "Name"); new wxXmlNode(name, wxXML_TEXT_NODE, "", layer.GetName()); VerboseLog("Done Writing a Layer"); }