Revision 3a0a23bf
Added by Leszek Koltunski almost 2 years ago
src/main/java/org/distorted/objectlib/json/JsonReader.java | ||
---|---|---|
32 | 32 |
|
33 | 33 |
import org.distorted.objectlib.helpers.ObjectFaceShape; |
34 | 34 |
import org.distorted.objectlib.helpers.ObjectSignature; |
35 |
import org.distorted.objectlib.helpers.ObjectStickerOverride; |
|
35 | 36 |
import org.distorted.objectlib.main.Cubit; |
36 | 37 |
import org.distorted.objectlib.objects.TwistyBandagedCuboid; |
37 | 38 |
import org.json.JSONArray; |
... | ... | |
84 | 85 |
private ObjectSignature mSignature; |
85 | 86 |
private int[] mCubitType; |
86 | 87 |
private float[][] mCubitRowOffset; |
88 |
private ObjectStickerOverride[] mStickerOverrides; |
|
87 | 89 |
|
88 | 90 |
private static JsonReader mThis; |
89 | 91 |
|
... | ... | |
372 | 374 |
} |
373 | 375 |
} |
374 | 376 |
|
377 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
378 |
|
|
379 |
private void parseOverrides(JSONArray object) throws JSONException |
|
380 |
{ |
|
381 |
int numOverrides = object.length(); |
|
382 |
mStickerOverrides= new ObjectStickerOverride[numOverrides]; |
|
383 |
|
|
384 |
for(int i=0; i<numOverrides; i++) |
|
385 |
{ |
|
386 |
JSONObject override = object.getJSONObject(i); |
|
387 |
int cubit = override.getInt("cubit"); |
|
388 |
int face = override.getInt("face"); |
|
389 |
int color = override.getInt("color"); |
|
390 |
mStickerOverrides[i] = new ObjectStickerOverride(cubit,face,color); |
|
391 |
} |
|
392 |
} |
|
393 |
|
|
375 | 394 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
376 | 395 |
|
377 | 396 |
private void parseMesh(JSONObject object) throws JSONException |
... | ... | |
382 | 401 |
parseShapes(shapes); |
383 | 402 |
JSONArray stickers = object.getJSONArray("stickers"); |
384 | 403 |
parseStickers(stickers); |
404 |
|
|
405 |
JSONArray overrides= object.optJSONArray("overrides"); |
|
406 |
if( overrides!=null ) parseOverrides(overrides); |
|
385 | 407 |
} |
386 | 408 |
|
387 | 409 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
1011 | 1033 |
return mObjectSticker[sticker]; |
1012 | 1034 |
} |
1013 | 1035 |
|
1036 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
1037 |
|
|
1038 |
public ObjectStickerOverride[] getStickerOverrides() |
|
1039 |
{ |
|
1040 |
return mStickerOverrides; |
|
1041 |
} |
|
1042 |
|
|
1014 | 1043 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
1015 | 1044 |
|
1016 | 1045 |
public Static3D[] getRotationAxis() |
Also available in: Unified diff
Beginnings of support for 'sticker overrides' - possibility to override the color of an individual face of an individual cubit. Ultimately this will enable overriding with any bitmap; so far only a solid color.
Also, fixes for two crashers.