void Unit::serialize(pugi::xml_node &node) { node.set_name("unit"); pugi::xml_node meshNode = node.append_child(); mesh->serialize(meshNode); for (auto & pair : transitions) { pugi::xml_node t = node.append_child("transition"); t.append_attribute("name") = pair.first.c_str(); t.append_attribute("sound") = aux::trim(pair.second->getAudio(), dataPath).c_str(); t.append_attribute("animation") = aux::trim(pair.second->getAnimation(), dataPath).c_str(); t.append_attribute("looped") = pair.second->isLooped(); } }