Example usage for com.badlogic.gdx.utils XmlWriter element

List of usage examples for com.badlogic.gdx.utils XmlWriter element

Introduction

In this page you can find the example usage for com.badlogic.gdx.utils XmlWriter element.

Prototype

public XmlWriter element(String name) throws IOException 

Source Link

Usage

From source file:com.github.fauu.helix.editor.MapRegionWriter.java

License:Open Source License

public static void saveMapRegion(MapRegion mapRegion, FileHandle hmrFile) {
    final StringWriter stringWriter = new StringWriter();
    final XmlWriter xmlWriter = new XmlWriter(stringWriter);
    Writer outputWriter = null;/* w ww.  ja v  a 2s  .c om*/

    stringWriter.write("<?xml version=\"1.0\"?>\n");

    try {
        xmlWriter.element("mapregion");
        xmlWriter.attribute("width", (int) mapRegion.getSize().x);
        xmlWriter.attribute("height", (int) mapRegion.getSize().y);
        xmlWriter.attribute("texturesetid", 0); // FIXME: TextureAtlas needs a wrapper after all I guess
        xmlWriter.attribute("geometrysetid", mapRegion.getGeometrySet().getId());

        xmlWriter.element("tiles");
        for (Tile tile : mapRegion.getTiles()) {
            xmlWriter.element("tile");
            xmlWriter.attribute("x", (int) tile.getPosition().x);
            xmlWriter.attribute("y", (int) tile.getPosition().y);
            xmlWriter.attribute("elevation", tile.getElevation());
            xmlWriter.attribute("textureid", tile.getTextureId());
            xmlWriter.attribute("geometryid", tile.getGeometryId());
            xmlWriter.attribute("facing", tile.getFacing().toString().toLowerCase());
            xmlWriter.attribute("type", tile.getType().toString().toLowerCase());
            xmlWriter.pop();
        }
        xmlWriter.pop();

        xmlWriter.element("objects");
        for (com.github.fauu.helix.core.Object object : mapRegion.getObjects()) {
            xmlWriter.element("object");
            xmlWriter.attribute("x", (int) object.getPosition().x);
            xmlWriter.attribute("y", (int) object.getPosition().y);
            xmlWriter.attribute("model", object.getModelName());
            xmlWriter.attribute("elevation", object.getElevation());
            xmlWriter.attribute("facing", object.getFacing().toString().toLowerCase());
            xmlWriter.pop();
        }
        xmlWriter.pop();

        xmlWriter.pop();

        outputWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(hmrFile.path())));

        outputWriter.write(stringWriter.toString());
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            outputWriter.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

From source file:com.steelkiwi.patheditor.proj.ProjectDataConverter.java

License:Apache License

private static void saveProjectData(ProjectData projData) throws Exception {
    String path = projData.getPath() + PATH_SEPARATOR + projData.getName() + PROJECT_EXT;
    File projectFile = new File(path);

    if (projectFile.exists()) {
        projectFile.delete();//from  www  .  j a va  2 s .  co  m
    }
    projectFile.createNewFile();

    StringWriter strWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(strWriter);

    xmlWriter.element("project");

    xmlWriter.element("name", projData.getName());
    //xmlWriter.element("path", projData.getPath()); //TODO

    if (projData.getScreens() != null) {
        for (int i = 0; i < projData.getScreens().size(); i++) {
            xmlWriter.element("screen").element("xml", projData.getScreens().get(i).getXmlPath())
                    .element("json", projData.getScreens().get(i).getJsonPath()).pop();
        }
    }

    xmlWriter.pop();
    xmlWriter.close();

    FileWriter writer = new FileWriter(new File(path));
    writer.write(strWriter.toString());
    writer.close();

    if (projData.getScreens() != null) {
        saveScreens(projData);
    }
}

From source file:com.steelkiwi.patheditor.proj.ProjectDataConverter.java

License:Apache License

private static void saveScreenToXML(String projPath, ScreenData scrData) throws Exception {
    String path = projPath + PATH_SEPARATOR + scrData.getXmlPath();
    File scrFile = new File(path);

    if (scrFile.exists()) {
        scrFile.delete();/*  w  w w  .ja  va2 s . com*/
    }
    scrFile.createNewFile();

    StringWriter strWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(strWriter);

    xmlWriter.element("screen");

    xmlWriter.element("name", scrData.getName());
    xmlWriter.element("width", scrData.getWidth());
    xmlWriter.element("height", scrData.getHeight());
    xmlWriter.element("xmlPath", scrData.getXmlPath());
    xmlWriter.element("jsonPath", scrData.getJsonPath());

    if (scrData.getBgImage() != null) {
        xmlWriter.element("bg").element("name", scrData.getBgImage().name).element("type",
                (getWidgetType(scrData.getBgImage()) != null) ? getWidgetType(scrData.getBgImage()).ordinal()
                        : -1)
                .element("texturePath",
                        FileUtils.getElementRelativePath(projPath,
                                ((GdxImage) scrData.getBgImage()).getTexPath()))
                .element("scaleX", scrData.getBgImage().scaleX).element("scaleY", scrData.getBgImage().scaleY)
                .element("x", scrData.getBgImage().x).element("y", scrData.getBgImage().y)
                .element("angle", scrData.getBgImage().rotation).pop();
    }

    if ((scrData.getPath() != null) && (scrData.getPath().getPath() != null)) {
        xmlWriter.element("path").element("xmlPath", scrData.getPath().getXmlPath())
                .element("jsonPath", scrData.getPath().getJsonPath()).pop();
    }

    xmlWriter.pop();
    xmlWriter.close();

    FileWriter writer = new FileWriter(new File(path));
    writer.write(strWriter.toString());
    writer.close();
}

From source file:com.steelkiwi.patheditor.proj.ProjectDataConverter.java

License:Apache License

private static void savePathToXml(String projPath, GdxPath gdxPath) throws Exception {
    String path = projPath + gdxPath.getXmlPath();
    File pathFile = new File(path);

    if (pathFile.exists()) {
        pathFile.delete();//  w w w .j a va2 s .c  o m
    }
    pathFile.createNewFile();

    StringWriter strWriter = new StringWriter();
    XmlWriter xmlWriter = new XmlWriter(strWriter);

    xmlWriter.element("path");

    xmlWriter.element("name", gdxPath.getName());
    xmlWriter.element("pointsCnt", gdxPath.getPointsCnt());
    xmlWriter.element("controlColor", gdxPath.getControlColor());
    xmlWriter.element("segmentColor", gdxPath.getSegmentColor());
    xmlWriter.element("selectColor", gdxPath.getSelectColor());

    xmlWriter.element("xmlPath", gdxPath.getXmlPath());
    xmlWriter.element("jsonPath", gdxPath.getJsonPath());

    if ((gdxPath.getPath() != null) && (gdxPath.getPath().getPathVerticesCount() > 0)) {
        xmlWriter.element("controlVertices");
        Vector3 controlVertex;
        for (int i = 0; i < gdxPath.getControlPath().size(); i++) {
            controlVertex = gdxPath.getControlPath().get(i);
            xmlWriter.element("controlVertex").element("id", i).element("x", controlVertex.x)
                    .element("y", controlVertex.y).pop();
        }
        xmlWriter.pop();

        xmlWriter.element("vertices");
        PathVertex vertex;
        for (int i = 0; i < gdxPath.getPath().getPathVerticesCount(); i++) {
            vertex = gdxPath.getPath().getPathVertexByIndex(i);
            xmlWriter.element("vertex").element("id", i).element("x", vertex.getPosition().x)
                    .element("y", vertex.getPosition().y).element("tanX", vertex.getTangentNornal().x)
                    .element("tanY", vertex.getTangentNornal().y).element("angle", vertex.getAngle()).pop();
        }
        xmlWriter.pop();
    }

    xmlWriter.pop();
    xmlWriter.close();

    FileWriter writer = new FileWriter(new File(path));
    writer.write(strWriter.toString());
    writer.close();
}

From source file:com.mangecailloux.pebble.directory.DirectoryElement.java

License:Apache License

/**
 * Convert the directoryElement to XML.// www  .  j a  v a 2s . com
* @param _xml XmlWriter to convert the directoryElement into XML.
* @throws IOException 
*/
protected void toXML(XmlWriter _xml) throws IOException {
    _xml.element("element");
    _xml.attribute("type", getClass().getName());
    _xml.attribute("name", name);
    internalToXML(_xml);
    _xml.pop();
}

From source file:com.nebula2d.editor.framework.components.CollisionShape.java

License:Open Source License

@Override
public void build(XmlWriter sceneXml, XmlWriter assetsXml, String sceneName) throws IOException {
    sceneXml.element("collisionShape").attribute("shapeType", shapeType.name());
    material.build(sceneXml, assetsXml, sceneName);
}

From source file:com.nebula2d.editor.framework.components.Animation.java

License:Open Source License

@Override
public void build(XmlWriter sceneXml, XmlWriter assetsXml, String sceneName) throws IOException {
    sceneXml.element("animation").attribute("name", name).attribute("animationType", animationType.name());
}

From source file:com.nebula2d.editor.framework.components.PhysicsMaterial.java

License:Open Source License

@Override
public void build(XmlWriter sceneXml, XmlWriter assetsXml, String sceneName) throws IOException {
    sceneXml.element("physicsMaterial").attribute("density", density).attribute("friction", friction)
            .attribute("restitution", restitution);
    sceneXml.pop();/*from   w  ww .  ja  va2 s.  co  m*/
}

From source file:com.nebula2d.editor.framework.components.Component.java

License:Open Source License

@Override
public void build(XmlWriter sceneXml, XmlWriter assetsXml, String sceneName) throws IOException {
    sceneXml.element("component").attribute("name", name).attribute("enabled", enabled)
            .attribute("componentType", componentType.name());
}

From source file:com.nebula2d.editor.framework.Layer.java

License:Open Source License

@Override
public void build(XmlWriter sceneXml, XmlWriter assetsXml, String sceneName) throws IOException {
    sceneXml.element("layer").attribute("name", name);
    Enumeration children = children();
    while (children.hasMoreElements()) {
        GameObject child = (GameObject) children.nextElement();
        child.build(sceneXml, assetsXml, sceneName);
        sceneXml.pop();/* w  w  w  .j  a v a2 s  .  c om*/
    }
}