private Vector2 readVector2 (JsonValue vectorArray, float x, float y) { if (vectorArray == null) return new Vector2(x, y); else if (vectorArray.size == 2) return new Vector2(vectorArray.getFloat(0), vectorArray.getFloat(1)); else throw new GdxRuntimeException("Expected Vector2 values <> than two."); }
private Vector2 readVector2 (JsonValue vectorArray, float x, float y) { if (vectorArray == null) return new Vector2(x, y); else if (vectorArray.size == 2) return new Vector2(vectorArray.getFloat(0), vectorArray.getFloat(1)); else throw new GdxRuntimeException("Expected Vector2 values <> than two."); }
jsonNode.translation = translation == null ? null : new Vector3(translation.getFloat(0), translation.getFloat(1), translation.getFloat(2)); jsonNode.rotation = rotation == null ? null : new Quaternion(rotation.getFloat(0), rotation.getFloat(1), rotation.getFloat(2), rotation.getFloat(3)); jsonNode.scale = scale == null ? null : new Vector3(scale.getFloat(0), scale.getFloat(1), scale.getFloat(2)); if (val != null && val.size >= 3) transform.translate(val.getFloat(0), val.getFloat(1), val.getFloat(2)); transform.rotate(tempQ.set(val.getFloat(0), val.getFloat(1), val.getFloat(2), val.getFloat(3))); if (val != null && val.size >= 3) transform.scale(val.getFloat(0), val.getFloat(1), val.getFloat(2));
jsonNode.translation = translation == null ? null : new Vector3(translation.getFloat(0), translation.getFloat(1), translation.getFloat(2)); jsonNode.rotation = rotation == null ? null : new Quaternion(rotation.getFloat(0), rotation.getFloat(1), rotation.getFloat(2), rotation.getFloat(3)); jsonNode.scale = scale == null ? null : new Vector3(scale.getFloat(0), scale.getFloat(1), scale.getFloat(2)); if (val != null && val.size >= 3) transform.translate(val.getFloat(0), val.getFloat(1), val.getFloat(2)); transform.rotate(tempQ.set(val.getFloat(0), val.getFloat(1), val.getFloat(2), val.getFloat(3))); if (val != null && val.size >= 3) transform.scale(val.getFloat(0), val.getFloat(1), val.getFloat(2));
if (keyframes != null && keyframes.isArray()) { for (JsonValue keyframe = keyframes.child; keyframe != null; keyframe = keyframe.next) { final float keytime = keyframe.getFloat("keytime", 0f) / 1000.f; JsonValue translation = keyframe.get("translation"); if (translation != null && translation.size == 3) { ModelNodeKeyframe<Vector3> tkf = new ModelNodeKeyframe<Vector3>(); tkf.keytime = keytime; tkf.value = new Vector3(translation.getFloat(0), translation.getFloat(1), translation.getFloat(2)); nodeAnim.translation.add(tkf); ModelNodeKeyframe<Quaternion> rkf = new ModelNodeKeyframe<Quaternion>(); rkf.keytime = keytime; rkf.value = new Quaternion(rotation.getFloat(0), rotation.getFloat(1), rotation.getFloat(2), rotation.getFloat(3)); nodeAnim.rotation.add(rkf); ModelNodeKeyframe<Vector3> skf = new ModelNodeKeyframe(); skf.keytime = keytime; skf.value = new Vector3(scale.getFloat(0), scale.getFloat(1), scale.getFloat(2)); nodeAnim.scaling.add(skf); ModelNodeKeyframe<Vector3> kf = new ModelNodeKeyframe<Vector3>(); nodeAnim.translation.add(kf); kf.keytime = keyframe.getFloat("keytime", 0f) / 1000.f; JsonValue translation = keyframe.get("value"); if (translation != null && translation.size >= 3) kf.value = new Vector3(translation.getFloat(0), translation.getFloat(1), translation.getFloat(2)); ModelNodeKeyframe<Quaternion> kf = new ModelNodeKeyframe<Quaternion>();
if (keyframes != null && keyframes.isArray()) { for (JsonValue keyframe = keyframes.child; keyframe != null; keyframe = keyframe.next) { final float keytime = keyframe.getFloat("keytime", 0f) / 1000.f; JsonValue translation = keyframe.get("translation"); if (translation != null && translation.size == 3) { ModelNodeKeyframe<Vector3> tkf = new ModelNodeKeyframe<Vector3>(); tkf.keytime = keytime; tkf.value = new Vector3(translation.getFloat(0), translation.getFloat(1), translation.getFloat(2)); nodeAnim.translation.add(tkf); ModelNodeKeyframe<Quaternion> rkf = new ModelNodeKeyframe<Quaternion>(); rkf.keytime = keytime; rkf.value = new Quaternion(rotation.getFloat(0), rotation.getFloat(1), rotation.getFloat(2), rotation.getFloat(3)); nodeAnim.rotation.add(rkf); ModelNodeKeyframe<Vector3> skf = new ModelNodeKeyframe(); skf.keytime = keytime; skf.value = new Vector3(scale.getFloat(0), scale.getFloat(1), scale.getFloat(2)); nodeAnim.scaling.add(skf); ModelNodeKeyframe<Vector3> kf = new ModelNodeKeyframe<Vector3>(); nodeAnim.translation.add(kf); kf.keytime = keyframe.getFloat("keytime", 0f) / 1000.f; JsonValue translation = keyframe.get("value"); if (translation != null && translation.size >= 3) kf.value = new Vector3(translation.getFloat(0), translation.getFloat(1), translation.getFloat(2)); ModelNodeKeyframe<Quaternion> kf = new ModelNodeKeyframe<Quaternion>();
private Vector2 readVector2 (JsonValue vectorArray, float x, float y) { if (vectorArray == null) return new Vector2(x, y); else if (vectorArray.size == 2) return new Vector2(vectorArray.getFloat(0), vectorArray.getFloat(1)); else throw new GdxRuntimeException("Expected Vector2 values <> than two."); }
private Vector2 readVector2(JsonValue vectorArray, float x, float y) { if (vectorArray == null) return new Vector2(x, y); else if (vectorArray.size == 2) return new Vector2(vectorArray.getFloat(0), vectorArray.getFloat(1)); else throw new GdxRuntimeException("Expected Vector2 values <> than two."); }
private RigidBodyModel readRigidBody (JsonValue bodyElem) { RigidBodyModel rbModel = new RigidBodyModel(); rbModel.name = bodyElem.getString("name"); rbModel.imagePath = bodyElem.getString("imagePath"); JsonValue origin = bodyElem.get("origin"); rbModel.origin.x = origin.getFloat("x"); rbModel.origin.y = origin.getFloat("y"); // polygons JsonValue polygons = bodyElem.get("polygons"); for (JsonValue vertices = polygons.child(); vertices != null; vertices = vertices.next()) { PolygonModel polygon = new PolygonModel(); rbModel.polygons.add(polygon); for (JsonValue vertex = vertices.child(); vertex != null; vertex = vertex.next()) { polygon.vertices.add(new Vector2(vertex.getFloat("x"), vertex.getFloat("y"))); } polygon.buffer = new Vector2[polygon.vertices.size()]; } // circles JsonValue circles = bodyElem.get("circles"); for (JsonValue circle = circles.child(); circle != null; circle = circle.next()) { CircleModel c = new CircleModel(); rbModel.circles.add(c); c.center.x = circle.getFloat("cx"); c.center.y = circle.getFloat("cy"); c.radius = circle.getFloat("r"); } return rbModel; }
@Override public void deserializeState(String data) { if (data == null) return; JsonValue jsonValue = new JsonReader().parse(data); this.encoding = CommonUtils.findEnumConstantSafe(Pixmap.Format.class, jsonValue.getString("encoding", null), encoding); this.quality = jsonValue.getFloat("quality", quality); }
private void loadSoundData(FileHandle handle) { try { JsonReader reader = new JsonReader(); JsonIterator it = reader.parse(handle).iterator(); while (it.hasNext()) { JsonValue value = it.next(); String name = value.getString("name"); Sound sound = Gdx.audio.newSound(Gdx.files.internal(name)); float duration = value.getFloat("duration"); float falloffStart = value.getFloat("falloffStart", 0.0f); float maxDistance = value.getFloat("maxDistance", 10.0f); SoundData soundData = new SoundData(sound, duration, falloffStart, maxDistance); soundsData.put(name, soundData); } } catch (Exception e) { e.printStackTrace(); } } }
@Override @SuppressWarnings("unchecked") public Arrangement read(Json json, JsonValue jsonData, Class type) { if(jsonData == null || jsonData.isNull()) return null; return new Arrangement(json.readValue(OrderedSet.class, jsonData.get("k")), jsonData.getFloat("f")); } });
@Override @SuppressWarnings("unchecked") public StringStringMap read(Json json, JsonValue jsonData, Class type) { if(jsonData == null || jsonData.isNull()) return null; return new StringStringMap(json.readValue(OrderedSet.class, String.class, jsonData.get("k")), json.readValue(ArrayList.class, String.class, jsonData.get("v")), jsonData.getFloat("f")); } });
@Override public IntDoubleOrderedMap read(Json json, JsonValue jsonData, Class type) { if(jsonData == null || jsonData.isNull()) return null; return new IntDoubleOrderedMap(jsonData.get("k").asIntArray(), jsonData.get("v").asDoubleArray(), jsonData.getFloat("f")); } });