Skip to content

Commit

Permalink
Yikes, don't use TypedArray for primitives.
Browse files Browse the repository at this point in the history
Otherwise a bunch of heinous boxing occurs. Particularly heinous on the HTML5
backend.
  • Loading branch information
samskivert committed Mar 24, 2016
1 parent ecde0c8 commit 378ff76
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions core/src/main/java/tripleplay/flump/JsonLoader.java
Expand Up @@ -130,14 +130,15 @@ protected static KeyframeData decodeKeyframeData (Json.Object json, KeyframeData
}

protected static Texture.Symbol decodeTexture (Json.Object json, playn.core.Texture atlas) {
Json.TypedArray<Float> rect = json.getArray("rect", Float.class);
Json.Array rect = json.getArray("rect");
return new Texture.Symbol(
json.getString("symbol"), getPoint(json, "origin", 0, 0),
atlas.tile(rect.get(0), rect.get(1), rect.get(2), rect.get(3)));
atlas.tile(rect.getNumber(0), rect.getNumber(1), rect.getNumber(2), rect.getNumber(3)));
}

protected static IPoint getPoint (Json.Object json, String field, float defX, float defY) {
Json.TypedArray<Float> array = json.getArray(field, Float.class);
return (array != null) ? new Point(array.get(0), array.get(1)) : new Point(defX, defY);
Json.Array array = json.getArray(field);
return (array != null) ? new Point(array.getNumber(0), array.getNumber(1)) :
new Point(defX, defY);
}
}

0 comments on commit 378ff76

Please sign in to comment.