List of usage examples for com.badlogic.gdx.utils JsonValue next
public JsonValue next()
From source file:be.ac.ucl.lfsab1509.bouboule.game.physicEditor.BodyEditorLoader.java
License:Open Source License
private Model readJson(String str) { Model m = new Model(); JsonValue map = new JsonReader().parse(str); JsonValue bodyElem = map.getChild("rigidBodies"); for (; bodyElem != null; bodyElem = bodyElem.next()) { RigidBodyModel rbModel = readRigidBody(bodyElem); m.rigidBodies.put(rbModel.name, rbModel); }/*from w w w. ja va 2 s .co m*/ return m; }
From source file:be.ac.ucl.lfsab1509.bouboule.game.physicEditor.BodyEditorLoader.java
License:Open Source License
private RigidBodyModel readRigidBody(JsonValue bodyElem) { RigidBodyModel rbModel = new RigidBodyModel(); rbModel.name = bodyElem.getString("name"); rbModel.imagePath = bodyElem.getString("imagePath"); JsonValue originElem = bodyElem.get("origin"); rbModel.origin.x = originElem.getFloat("x"); rbModel.origin.y = originElem.getFloat("y"); // polygons// w w w. ja v a2s . co m JsonValue polygonsElem = bodyElem.getChild("polygons"); for (; polygonsElem != null; polygonsElem = polygonsElem.next()) { PolygonModel polygon = new PolygonModel(); rbModel.polygons.add(polygon); JsonValue vertexElem = polygonsElem.child(); for (; vertexElem != null; vertexElem = vertexElem.next()) { float x = vertexElem.getFloat("x"); float y = vertexElem.getFloat("y"); polygon.vertices.add(new Vector2(x, y)); } polygon.buffer = new Vector2[polygon.vertices.size()]; } // circles JsonValue circleElem = bodyElem.getChild("circles"); for (; circleElem != null; circleElem = circleElem.next()) { CircleModel circle = new CircleModel(); rbModel.circles.add(circle); circle.center.x = circleElem.getFloat("cx"); circle.center.y = circleElem.getFloat("cy"); circle.radius = circleElem.getFloat("r"); } return rbModel; }
From source file:br.com.questingsoftware.libgdx.g3db.G3DBConverter.java
License:Apache License
private void writeObject(JsonValue root, UBJsonWriter writer) throws IOException { if (root.type() == ValueType.array) { if (root.name() != null) { writer.array(root.name());/* w w w .j a v a2 s .c om*/ } else { writer.array(); } } else { if (root.name() != null) { writer.object(root.name()); } else { writer.object(); } } JsonValue child = root.child(); while (child != null) { switch (child.type()) { case booleanValue: if (child.name() != null) { writer.set(child.name(), child.asBoolean()); } else { writer.value(child.asBoolean()); } break; case doubleValue: if (child.name() != null) { writer.set(child.name(), child.asDouble()); } else { writer.value(child.asDouble()); } break; case longValue: if (child.name() != null) { writer.set(child.name(), child.asLong()); } else { writer.value(child.asLong()); } break; case stringValue: if (child.name() != null) { writer.set(child.name(), child.asString()); } else { writer.value(child.asString()); } break; case nullValue: if (child.name() != null) { writer.set(child.name()); } break; case array: case object: writeObject(child, writer); break; } child = child.next(); } writer.pop(); }
From source file:com.strategames.engine.storage.GameMetaData.java
License:Open Source License
@Override public void read(Json json, JsonValue jsonData) { JsonValue child = jsonData.child(); while (child != null) { if (child.name.contentEquals("uuid")) { uuid = child.asString();//from w w w. ja va 2 s . co m } else if (child.name.contentEquals("name")) { name = child.asString(); } else if (child.name.contentEquals("designer")) { designer = child.asString(); } else if (child.name.contentEquals("info")) { parseAdditionalInfo(child.asString()); } child = child.next(); } }
From source file:es.eucm.ead.buildtools.GenerateFieldClasses.java
License:Open Source License
private static String buildCode(Files files, Json json, String originJsonSchemaPath, String targetPackageName, String targetDirectory, boolean mainClass) { FileHandle fh = files.internal(originJsonSchemaPath); JsonValue next = json.fromJson(null, null, fh); next = next.child();/* w w w.j a v a 2 s . c o m*/ String fieldsCode = ""; String headerCode = ""; String targetClassName = ""; while ((next = next.next()) != null) { if (next.name().equals("properties")) { JsonValue nextProperty = next.child(); fieldsCode += buildFields(nextProperty); break; } else if (next.name().equals("extends")) { String relativeParentJsonSchemaPath = next.child().asString(); // Calculate directory to find parent class String parentJsonSchemaPath = originJsonSchemaPath.substring(0, originJsonSchemaPath.lastIndexOf("/") + 1) + relativeParentJsonSchemaPath; fieldsCode += buildCode(files, json, parentJsonSchemaPath, null, null, false); } else if (next.name().equals("javaType") && mainClass) { String javaType = next.asString(); String originalClassName = javaType.substring(javaType.lastIndexOf(".") + 1, javaType.length()); targetClassName = originalClassName + "Fields"; headerCode = getClassHeader(originalClassName, targetPackageName, targetClassName); } } if (mainClass) { if (fieldsCode.length() > 0) { System.out.println("Generating code for class " + targetClassName); String classCode = headerCode + fieldsCode + "}"; writeClass(files, classCode, targetPackageName, targetClassName, targetDirectory); return classCode; } else { System.out.println("Skipping class " + targetClassName + " (no properties)"); return ""; } } else { return fieldsCode; } }
From source file:es.eucm.ead.buildtools.GenerateFieldClasses.java
License:Open Source License
private static String buildFields(JsonValue nextProperty) { String classCode = ""; while (nextProperty != null) { // Look for description JsonValue description = nextProperty.child(); while (description != null && !description.name().equals("description")) { description = description.next(); }//from ww w . j a v a 2s. com if (description != null) { classCode += "\t/**\n"; classCode += "\t *" + description.asString() + "\n"; classCode += "\t*/\n"; } classCode += "\tpublic static final String " + nextProperty.name().toUpperCase() + " = \"" + nextProperty.name() + "\";\n\n"; nextProperty = nextProperty.next(); } return classCode; }
From source file:es.eucm.ead.engine.tracking.gleaner.GleanerGameTracker.java
License:Open Source License
/** * Configure the tracker/*from w ww .ja va 2 s . c om*/ * * @param config the json configuration */ private void configure(JsonValue config) { press = config.getBoolean(PRESS, false); phases = config.getBoolean(PHASES, false); tracker.setMaxTracesPerQueue(config.getInt(MAX_TRACES, -1)); JsonValue variables = config.get(VARIABLES); if (variables != null) { if (variables.isArray()) { JsonValue current = variables.child(); while (current != null) { this.watchField(current.asString()); current = current.next(); } } else { logger.warn("Invalid configuration value for variables. It should be an array of strings."); } } }
From source file:stu.tnt.gdx.widget.StyleAtlas.java
License:Apache License
protected Json getJsonLoader(final FileHandle skinFile) { final Skin skin = this; final Json json = new Json() { public <T> T readValue(Class<T> type, Class elementType, JsonValue jsonData) { // If the JSON is a string but the type is not, look up the // actual value by name. if (jsonData.isString() && !ClassReflection.isAssignableFrom(CharSequence.class, type)) return get(jsonData.asString(), type); return super.readValue(type, elementType, jsonData); }/*from w ww .j ava 2 s . c o m*/ }; json.setTypeName(null); json.setUsePrototypes(false); /* ------------------------------------------------ */ json.setSerializer(Skin.class, new ReadOnlySerializer<Skin>() { public Skin read(Json json, JsonValue typeToValueMap, Class ignored) { for (JsonValue valueMap = typeToValueMap.child(); valueMap != null; valueMap = valueMap.next()) { try { readNamedObjects(json, ClassReflection.forName(valueMap.name()), valueMap); } catch (ReflectionException ex) { throw new SerializationException(ex); } } return skin; } private void readNamedObjects(Json json, Class type, JsonValue valueMap) { Class addType = type == TintedDrawable.class ? Drawable.class : type; for (JsonValue valueEntry = valueMap.child(); valueEntry != null; valueEntry = valueEntry.next()) { Object object = json.readValue(type, valueEntry); if (object == null) continue; try { add(valueEntry.name(), object, addType); } catch (Exception ex) { throw new SerializationException( "Error reading " + ClassReflection.getSimpleName(type) + ": " + valueEntry.name(), ex); } } } }); json.setSerializer(BitmapFont.class, new ReadOnlySerializer<BitmapFont>() { public BitmapFont read(Json json, JsonValue jsonData, Class type) { String path = json.readValue("file", String.class, jsonData); FileHandle fontFile = skinFile.parent().child(path); if (!fontFile.exists()) fontFile = Gdx.files.internal(path); if (!fontFile.exists()) throw new SerializationException("Font file not found: " + fontFile); // Use a region with the same name as the font, else use // a PNG file in the same directory as the FNT file. String regionName = fontFile.nameWithoutExtension(); try { TextureRegion region = skin.optional(regionName, TextureRegion.class); if (region != null) return new BitmapFont(fontFile, region, false); else { FileHandle imageFile = fontFile.parent().child(regionName + ".png"); if (imageFile.exists()) return new BitmapFont(fontFile, imageFile, false); else return new BitmapFont(fontFile, false); } } catch (RuntimeException ex) { throw new SerializationException("Error loading bitmap font: " + fontFile, ex); } } }); json.setSerializer(Color.class, new ReadOnlySerializer<Color>() { public Color read(Json json, JsonValue jsonData, Class type) { if (jsonData.isString()) return get(jsonData.asString(), Color.class); String hex = json.readValue("hex", String.class, (String) null, jsonData); if (hex != null) return Color.valueOf(hex); float r = json.readValue("r", float.class, 0f, jsonData); float g = json.readValue("g", float.class, 0f, jsonData); float b = json.readValue("b", float.class, 0f, jsonData); float a = json.readValue("a", float.class, 1f, jsonData); return new Color(r, g, b, a); } }); json.setSerializer(TintedDrawable.class, new ReadOnlySerializer() { public Object read(Json json, JsonValue jsonData, Class type) { String name = json.readValue("name", String.class, jsonData); Color color = json.readValue("color", Color.class, jsonData); return newDrawable(name, color); } }); /* ------------------------------------------------ */ json.setSerializer(Attributes.class, new ReadOnlySerializer<Attributes>() { @Override public Attributes read(Json json, JsonValue jsonData, Class type) { float startX = json.readValue("startX", float.class, (float) 0, jsonData); float startY = json.readValue("startY", float.class, (float) 0, jsonData); float dstX = json.readValue("x", float.class, jsonData); float dstY = json.readValue("y", float.class, jsonData); float width = json.readValue("width", float.class, jsonData); float height = json.readValue("height", float.class, jsonData); Attributes attr = new Attributes(); attr.startX = startX; attr.startY = startY; attr.x = dstX; attr.y = dstY; attr.width = width; attr.height = height; return attr; } }); /* ------------------------------------------------ */ json.setSerializer(ScalingSet.class, new ReadOnlySerializer<ScalingSet>() { @Override public ScalingSet read(Json json, JsonValue jsonData, Class type) { float layoutx = json.readValue("layoutx", float.class, jsonData); float layouty = json.readValue("layouty", float.class, jsonData); float layoutwidth = json.readValue("layoutwidth", float.class, jsonData); float layoutheight = json.readValue("layoutheight", float.class, jsonData); float whratio = json.readValue("whratio", float.class, jsonData); float hwratio = json.readValue("hwratio", float.class, jsonData); return new ScalingSet().set(layoutx, layouty, layoutwidth, layoutheight, whratio, hwratio); } }); /* ------------------------------------------------ */ json.setSerializer(Vector2.class, new ReadOnlySerializer<Vector2>() { @Override public Vector2 read(Json json, JsonValue jsonData, Class type) { return new Vector2(json.readValue("x", float.class, jsonData), json.readValue("y", float.class, jsonData)); } }); return json; }