Revision e1a86bf2
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/main/ObjectType.java | ||
---|---|---|
31 | 31 |
|
32 | 32 |
public enum ObjectType |
33 | 33 |
{ |
34 |
CUBE_2 ( new int[] {2,2,2} , 12, R.raw.json_cube_2, R.raw.cube_2, R.drawable.cube_2s, R.drawable.cube_2m, R.drawable.cube_2b, R.drawable.cube_2h),
|
|
35 |
CUBE_3 ( new int[] {3,3,3} , 17, R.raw.json_cube_3, R.raw.cube_3, R.drawable.cube_3s, R.drawable.cube_3m, R.drawable.cube_3b, R.drawable.cube_3h),
|
|
36 |
CUBE_4 ( new int[] {4,4,4} , 24, R.raw.json_cube_4, R.raw.cube_4, R.drawable.cube_4s, R.drawable.cube_4m, R.drawable.cube_4b, R.drawable.cube_4h),
|
|
37 |
CUBE_5 ( new int[] {5,5,5} , 28, R.raw.json_cube_5, R.raw.cube_5, R.drawable.cube_5s, R.drawable.cube_5m, R.drawable.cube_5b, R.drawable.cube_5h),
|
|
38 |
CUBE_6 ( new int[] {6,6,6} , 35, R.raw.json_cube_6, R.raw.cube_6, R.drawable.cube_6s, R.drawable.cube_6m, R.drawable.cube_6b, R.drawable.cube_6h),
|
|
39 |
DIAM_2 ( new int[] {2,2,2,2} , 12, R.raw.json_diam_2, R.raw.diam_2, R.drawable.diam_2s, R.drawable.diam_2m, R.drawable.diam_2b, R.drawable.diam_2h),
|
|
40 |
DIAM_3 ( new int[] {3,3,3,3} , 24, R.raw.json_diam_3, R.raw.diam_3, R.drawable.diam_3s, R.drawable.diam_3m, R.drawable.diam_3b, R.drawable.diam_3h),
|
|
41 |
DIAM_4 ( new int[] {4,4,4,4} , 32, R.raw.json_diam_4, R.raw.diam_4, R.drawable.diam_4s, R.drawable.diam_4m, R.drawable.diam_4b, R.drawable.diam_4h),
|
|
42 |
JING_2 ( new int[] {2,2,2,2} , 11, R.raw.json_jing_2, R.raw.jing_2, R.drawable.jing_2s, R.drawable.jing_2m, R.drawable.jing_2b, R.drawable.jing_2h),
|
|
43 |
PYRA_3 ( new int[] {3,3,3,3} , 10, R.raw.json_pyra_3, R.raw.pyra_3, R.drawable.pyra_3s, R.drawable.pyra_3m, R.drawable.pyra_3b, R.drawable.pyra_3h),
|
|
44 |
PYRA_4 ( new int[] {4,4,4,4} , 17, R.raw.json_pyra_4, R.raw.pyra_4, R.drawable.pyra_4s, R.drawable.pyra_4m, R.drawable.pyra_4b, R.drawable.pyra_4h),
|
|
45 |
PYRA_5 ( new int[] {5,5,5,5} , 23, R.raw.json_pyra_5, R.raw.pyra_5, R.drawable.pyra_5s, R.drawable.pyra_5m, R.drawable.pyra_5b, R.drawable.pyra_5h),
|
|
46 |
KILO_3 ( new int[] {3,3,3,3,3,3}, 18, R.raw.json_kilo_3, R.raw.kilo_3, R.drawable.kilo_3s, R.drawable.kilo_3m, R.drawable.kilo_3b, R.drawable.kilo_3h),
|
|
47 |
KILO_5 ( new int[] {5,5,5,5,5,5}, 33, R.raw.json_kilo_5, R.raw.kilo_5, R.drawable.kilo_5s, R.drawable.kilo_5m, R.drawable.kilo_5b, R.drawable.kilo_5h),
|
|
48 |
MEGA_3 ( new int[] {3,3,3,3,3,3}, 21, R.raw.json_mega_3, R.raw.mega_3, R.drawable.mega_3s, R.drawable.mega_3m, R.drawable.mega_3b, R.drawable.mega_3h),
|
|
49 |
MEGA_5 ( new int[] {5,5,5,5,5,5}, 37, R.raw.json_mega_5, R.raw.mega_5, R.drawable.mega_5s, R.drawable.mega_5m, R.drawable.mega_5b, R.drawable.mega_5h),
|
|
50 |
ULTI_2 ( new int[] {2,2,2,2} , 18, R.raw.json_ulti_2, R.raw.ulti_2, R.drawable.ulti_2s, R.drawable.ulti_2m, R.drawable.ulti_2b, R.drawable.ulti_2h),
|
|
51 |
DINO_3 ( new int[] {3,3,3,3} , 10, R.raw.json_dino_3, R.raw.dino_3, R.drawable.dino_3s, R.drawable.dino_3m, R.drawable.dino_3b, R.drawable.dino_3h),
|
|
52 |
DIN4_3 ( new int[] {3,3,3,3} , 7, R.raw.json_din4_3, R.raw.dino_3, R.drawable.din4_3s, R.drawable.din4_3m, R.drawable.din4_3b, R.drawable.din4_3h),
|
|
53 |
REDI_3 ( new int[] {3,3,3,3} , 16, R.raw.json_redi_3, R.raw.redi_3, R.drawable.redi_3s, R.drawable.redi_3m, R.drawable.redi_3b, R.drawable.redi_3h),
|
|
54 |
SKEW_2 ( new int[] {2,2,2,2} , 11, R.raw.json_skew_2, R.raw.skew_2, R.drawable.skew_2s, R.drawable.skew_2m, R.drawable.skew_2b, R.drawable.skew_2h),
|
|
55 |
SKEW_3 ( new int[] {3,3,3,3} , 21, R.raw.json_skew_3, R.raw.skew_3, R.drawable.skew_3s, R.drawable.skew_3m, R.drawable.skew_3b, R.drawable.skew_3h),
|
|
56 |
IVY_2 ( new int[] {2,2,2,2} , 8, R.raw.json_ivy_2 , R.raw.ivy_2 , R.drawable.ivy_2s , R.drawable.ivy_2m , R.drawable.ivy_2b , R.drawable.ivy_2h ),
|
|
57 |
REX_3 ( new int[] {3,3,3,3} , 19, R.raw.json_rex_3 , R.raw.rex_3 , R.drawable.rex_3s , R.drawable.rex_3m , R.drawable.rex_3b , R.drawable.rex_3h ),
|
|
58 |
BAN1_3 ( new int[] {3,3,3} , 16, R.raw.json_ban1_3, R.raw.ban1_3, R.drawable.ban1_3s, R.drawable.ban1_3m, R.drawable.ban1_3b, R.drawable.ban1_3h),
|
|
59 |
BAN2_3 ( new int[] {3,3,3} , 16, R.raw.json_ban2_3, R.raw.ban2_3, R.drawable.ban2_3s, R.drawable.ban2_3m, R.drawable.ban2_3b, R.drawable.ban2_3h),
|
|
60 |
BAN3_3 ( new int[] {3,3,3} , 16, R.raw.json_ban3_3, R.raw.ban3_3, R.drawable.ban3_3s, R.drawable.ban3_3m, R.drawable.ban3_3b, R.drawable.ban3_3h),
|
|
61 |
BAN4_3 ( new int[] {3,3,3} , 16, R.raw.json_ban4_3, R.raw.ban4_3, R.drawable.ban4_3s, R.drawable.ban4_3m, R.drawable.ban4_3b, R.drawable.ban4_3h),
|
|
62 |
SQU1_3 ( new int[] {3,2,3} , 24, R.raw.json_squ1_3, R.raw.squ1_3, R.drawable.squ1_3s, R.drawable.squ1_3m, R.drawable.squ1_3b, R.drawable.squ1_3h),
|
|
63 |
SQU2_3 ( new int[] {3,2,3} , 24, R.raw.json_squ2_3, R.raw.squ2_3, R.drawable.squ2_3s, R.drawable.squ2_3m, R.drawable.squ2_3b, R.drawable.squ2_3h),
|
|
64 |
MIRR_2 ( new int[] {2,2,2} , 12, R.raw.json_mirr_2, R.raw.mirr_2, R.drawable.mirr_2s, R.drawable.mirr_2m, R.drawable.mirr_2b, R.drawable.mirr_2h),
|
|
65 |
MIRR_3 ( new int[] {3,3,3} , 17, R.raw.json_mirr_3, R.raw.mirr_3, R.drawable.mirr_3s, R.drawable.mirr_3m, R.drawable.mirr_3b, R.drawable.mirr_3h),
|
|
66 |
CU_323 ( new int[] {3,2,3} , 15, R.raw.json_cu_323, R.raw.cu_323, R.drawable.cu_323s, R.drawable.cu_323m, R.drawable.cu_323b, R.drawable.cu_323h),
|
|
67 |
CU_232 ( new int[] {2,3,2} , 16, R.raw.json_cu_232, R.raw.cu_232, R.drawable.cu_232s, R.drawable.cu_232m, R.drawable.cu_232b, R.drawable.cu_232h),
|
|
68 |
CU_343 ( new int[] {3,4,3} , 23, R.raw.json_cu_343, R.raw.cu_343, R.drawable.cu_343s, R.drawable.cu_343m, R.drawable.cu_343b, R.drawable.cu_343h),
|
|
69 |
HELI_3 ( new int[] {3,3,3,3,3,3}, 20, R.raw.json_heli_3, R.raw.heli_3, R.drawable.heli_3s, R.drawable.heli_3m, R.drawable.heli_3b, R.drawable.heli_3h),
|
|
34 |
CUBE_2 ( new int[] {2,2,2} , 12, R.drawable.cube_2s, R.drawable.cube_2m, R.drawable.cube_2b, R.drawable.cube_2h), |
|
35 |
CUBE_3 ( new int[] {3,3,3} , 17, R.drawable.cube_3s, R.drawable.cube_3m, R.drawable.cube_3b, R.drawable.cube_3h), |
|
36 |
CUBE_4 ( new int[] {4,4,4} , 24, R.drawable.cube_4s, R.drawable.cube_4m, R.drawable.cube_4b, R.drawable.cube_4h), |
|
37 |
CUBE_5 ( new int[] {5,5,5} , 28, R.drawable.cube_5s, R.drawable.cube_5m, R.drawable.cube_5b, R.drawable.cube_5h), |
|
38 |
CUBE_6 ( new int[] {6,6,6} , 35, R.drawable.cube_6s, R.drawable.cube_6m, R.drawable.cube_6b, R.drawable.cube_6h), |
|
39 |
DIAM_2 ( new int[] {2,2,2,2} , 12, R.drawable.diam_2s, R.drawable.diam_2m, R.drawable.diam_2b, R.drawable.diam_2h), |
|
40 |
DIAM_3 ( new int[] {3,3,3,3} , 24, R.drawable.diam_3s, R.drawable.diam_3m, R.drawable.diam_3b, R.drawable.diam_3h), |
|
41 |
DIAM_4 ( new int[] {4,4,4,4} , 32, R.drawable.diam_4s, R.drawable.diam_4m, R.drawable.diam_4b, R.drawable.diam_4h), |
|
42 |
JING_2 ( new int[] {2,2,2,2} , 11, R.drawable.jing_2s, R.drawable.jing_2m, R.drawable.jing_2b, R.drawable.jing_2h), |
|
43 |
PYRA_3 ( new int[] {3,3,3,3} , 10, R.drawable.pyra_3s, R.drawable.pyra_3m, R.drawable.pyra_3b, R.drawable.pyra_3h), |
|
44 |
PYRA_4 ( new int[] {4,4,4,4} , 17, R.drawable.pyra_4s, R.drawable.pyra_4m, R.drawable.pyra_4b, R.drawable.pyra_4h), |
|
45 |
PYRA_5 ( new int[] {5,5,5,5} , 23, R.drawable.pyra_5s, R.drawable.pyra_5m, R.drawable.pyra_5b, R.drawable.pyra_5h), |
|
46 |
KILO_3 ( new int[] {3,3,3,3,3,3}, 18, R.drawable.kilo_3s, R.drawable.kilo_3m, R.drawable.kilo_3b, R.drawable.kilo_3h), |
|
47 |
KILO_5 ( new int[] {5,5,5,5,5,5}, 33, R.drawable.kilo_5s, R.drawable.kilo_5m, R.drawable.kilo_5b, R.drawable.kilo_5h), |
|
48 |
MEGA_3 ( new int[] {3,3,3,3,3,3}, 21, R.drawable.mega_3s, R.drawable.mega_3m, R.drawable.mega_3b, R.drawable.mega_3h), |
|
49 |
MEGA_5 ( new int[] {5,5,5,5,5,5}, 37, R.drawable.mega_5s, R.drawable.mega_5m, R.drawable.mega_5b, R.drawable.mega_5h), |
|
50 |
ULTI_2 ( new int[] {2,2,2,2} , 18, R.drawable.ulti_2s, R.drawable.ulti_2m, R.drawable.ulti_2b, R.drawable.ulti_2h), |
|
51 |
DINO_3 ( new int[] {3,3,3,3} , 10, R.drawable.dino_3s, R.drawable.dino_3m, R.drawable.dino_3b, R.drawable.dino_3h), |
|
52 |
DIN4_3 ( new int[] {3,3,3,3} , 7, R.drawable.din4_3s, R.drawable.din4_3m, R.drawable.din4_3b, R.drawable.din4_3h), |
|
53 |
REDI_3 ( new int[] {3,3,3,3} , 16, R.drawable.redi_3s, R.drawable.redi_3m, R.drawable.redi_3b, R.drawable.redi_3h), |
|
54 |
SKEW_2 ( new int[] {2,2,2,2} , 11, R.drawable.skew_2s, R.drawable.skew_2m, R.drawable.skew_2b, R.drawable.skew_2h), |
|
55 |
SKEW_3 ( new int[] {3,3,3,3} , 21, R.drawable.skew_3s, R.drawable.skew_3m, R.drawable.skew_3b, R.drawable.skew_3h), |
|
56 |
IVY_2 ( new int[] {2,2,2,2} , 8, R.drawable.ivy_2s , R.drawable.ivy_2m , R.drawable.ivy_2b , R.drawable.ivy_2h ), |
|
57 |
REX_3 ( new int[] {3,3,3,3} , 19, R.drawable.rex_3s , R.drawable.rex_3m , R.drawable.rex_3b , R.drawable.rex_3h ), |
|
58 |
BAN1_3 ( new int[] {3,3,3} , 16, R.drawable.ban1_3s, R.drawable.ban1_3m, R.drawable.ban1_3b, R.drawable.ban1_3h), |
|
59 |
BAN2_3 ( new int[] {3,3,3} , 16, R.drawable.ban2_3s, R.drawable.ban2_3m, R.drawable.ban2_3b, R.drawable.ban2_3h), |
|
60 |
BAN3_3 ( new int[] {3,3,3} , 16, R.drawable.ban3_3s, R.drawable.ban3_3m, R.drawable.ban3_3b, R.drawable.ban3_3h), |
|
61 |
BAN4_3 ( new int[] {3,3,3} , 16, R.drawable.ban4_3s, R.drawable.ban4_3m, R.drawable.ban4_3b, R.drawable.ban4_3h), |
|
62 |
SQU1_3 ( new int[] {3,2,3} , 24, R.drawable.squ1_3s, R.drawable.squ1_3m, R.drawable.squ1_3b, R.drawable.squ1_3h), |
|
63 |
SQU2_3 ( new int[] {3,2,3} , 24, R.drawable.squ2_3s, R.drawable.squ2_3m, R.drawable.squ2_3b, R.drawable.squ2_3h), |
|
64 |
MIRR_2 ( new int[] {2,2,2} , 12, R.drawable.mirr_2s, R.drawable.mirr_2m, R.drawable.mirr_2b, R.drawable.mirr_2h), |
|
65 |
MIRR_3 ( new int[] {3,3,3} , 17, R.drawable.mirr_3s, R.drawable.mirr_3m, R.drawable.mirr_3b, R.drawable.mirr_3h), |
|
66 |
CU_323 ( new int[] {3,2,3} , 15, R.drawable.cu_323s, R.drawable.cu_323m, R.drawable.cu_323b, R.drawable.cu_323h), |
|
67 |
CU_232 ( new int[] {2,3,2} , 16, R.drawable.cu_232s, R.drawable.cu_232m, R.drawable.cu_232b, R.drawable.cu_232h), |
|
68 |
CU_343 ( new int[] {3,4,3} , 23, R.drawable.cu_343s, R.drawable.cu_343m, R.drawable.cu_343b, R.drawable.cu_343h), |
|
69 |
HELI_3 ( new int[] {3,3,3,3,3,3}, 20, R.drawable.heli_3s, R.drawable.heli_3m, R.drawable.heli_3b, R.drawable.heli_3h), |
|
70 | 70 |
; |
71 | 71 |
|
72 | 72 |
public static final int NUM_OBJECTS = values().length; |
73 |
private static final ObjectType[] objects; |
|
73 | 74 |
|
74 | 75 |
private final int[] mNumLayers; |
75 | 76 |
private final int mNumScrambles; |
76 | 77 |
private final int mSmallIcon, mMediumIcon, mBigIcon, mHugeIcon; |
77 |
private final int mMeshID, mJsonID; |
|
78 |
|
|
79 |
private static final ObjectType[] objects; |
|
80 | 78 |
|
81 | 79 |
static |
82 | 80 |
{ |
... | ... | |
106 | 104 |
|
107 | 105 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
108 | 106 |
|
109 |
ObjectType(int[] numLayers, int scrambles, int jsonID, int meshID, int sIcon, int mIcon, int bIcon, int hIcon)
|
|
107 |
ObjectType(int[] numLayers, int scrambles, int sIcon, int mIcon, int bIcon, int hIcon) |
|
110 | 108 |
{ |
111 | 109 |
mNumLayers = numLayers; |
112 | 110 |
mNumScrambles= scrambles; |
113 |
mJsonID = jsonID; |
|
114 |
mMeshID = meshID; |
|
115 | 111 |
mSmallIcon = sIcon; |
116 | 112 |
mMediumIcon = mIcon; |
117 | 113 |
mBigIcon = bIcon; |
118 | 114 |
mHugeIcon = hIcon; |
119 | 115 |
} |
120 | 116 |
|
121 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
122 |
|
|
123 |
public int getNumScramble() |
|
124 |
{ |
|
125 |
return mNumScrambles; |
|
126 |
} |
|
127 |
|
|
128 | 117 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
129 | 118 |
|
130 | 119 |
public int getIconID(int size) |
... | ... | |
142 | 131 |
|
143 | 132 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
144 | 133 |
|
145 |
public int getMeshID() |
|
146 |
{ |
|
147 |
return mMeshID; |
|
148 |
} |
|
149 |
|
|
150 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
151 |
|
|
152 |
public int getJsonID() |
|
134 |
public int getNumScramble() |
|
153 | 135 |
{ |
154 |
return mJsonID;
|
|
136 |
return mNumScrambles;
|
|
155 | 137 |
} |
156 | 138 |
|
157 | 139 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
158 | 140 |
|
159 |
public TwistyObject create(Static4D quat, Static3D move, InputStream stream)
|
|
141 |
public static TwistyObject create(int ordinal, Static4D quat, Static3D move, InputStream meshStream)
|
|
160 | 142 |
{ |
161 |
int ord = ordinal(); |
|
162 |
int[] numL= objects[ord].mNumLayers; |
|
143 |
int[] numL= objects[ordinal].mNumLayers; |
|
163 | 144 |
|
164 |
switch(ord) |
|
145 |
switch(ordinal)
|
|
165 | 146 |
{ |
166 | 147 |
case 0: |
167 | 148 |
case 1: |
168 | 149 |
case 2: |
169 | 150 |
case 3: |
170 |
case 4: return new TwistyCuboid (numL, quat, move, stream);
|
|
151 |
case 4: return new TwistyCuboid (numL, quat, move, meshStream);
|
|
171 | 152 |
case 5: |
172 | 153 |
case 6: |
173 |
case 7: return new TwistyDiamond (numL, quat, move, stream);
|
|
174 |
case 8: return new TwistyJing (numL, quat, move, stream);
|
|
154 |
case 7: return new TwistyDiamond (numL, quat, move, meshStream);
|
|
155 |
case 8: return new TwistyJing (numL, quat, move, meshStream);
|
|
175 | 156 |
case 9: |
176 | 157 |
case 10: |
177 |
case 11: return new TwistyPyraminx (numL, quat, move, stream);
|
|
158 |
case 11: return new TwistyPyraminx (numL, quat, move, meshStream);
|
|
178 | 159 |
case 12: |
179 |
case 13: return new TwistyKilominx (numL, quat, move, stream);
|
|
160 |
case 13: return new TwistyKilominx (numL, quat, move, meshStream);
|
|
180 | 161 |
case 14: |
181 |
case 15: return new TwistyMegaminx (numL, quat, move, stream);
|
|
182 |
case 16: return new TwistyUltimate (numL, quat, move, stream);
|
|
183 |
case 17: return new TwistyDino6 (numL, quat, move, stream);
|
|
184 |
case 18: return new TwistyDino4 (numL, quat, move, stream);
|
|
185 |
case 19: return new TwistyRedi (numL, quat, move, stream);
|
|
162 |
case 15: return new TwistyMegaminx (numL, quat, move, meshStream);
|
|
163 |
case 16: return new TwistyUltimate (numL, quat, move, meshStream);
|
|
164 |
case 17: return new TwistyDino6 (numL, quat, move, meshStream);
|
|
165 |
case 18: return new TwistyDino4 (numL, quat, move, meshStream);
|
|
166 |
case 19: return new TwistyRedi (numL, quat, move, meshStream);
|
|
186 | 167 |
case 20: |
187 |
case 21: return new TwistySkewb (numL, quat, move, stream);
|
|
188 |
case 22: return new TwistyIvy (numL, quat, move, stream);
|
|
189 |
case 23: return new TwistyRex (numL, quat, move, stream);
|
|
190 |
case 24: return new TwistyBandagedFused (numL, quat, move, stream);
|
|
191 |
case 25: return new TwistyBandaged2Bar (numL, quat, move, stream);
|
|
192 |
case 26: return new TwistyBandaged3Plate(numL, quat, move, stream);
|
|
193 |
case 27: return new TwistyBandagedEvil (numL, quat, move, stream);
|
|
194 |
case 28: return new TwistySquare1 (numL, quat, move, stream);
|
|
195 |
case 29: return new TwistySquare2 (numL, quat, move, stream);
|
|
168 |
case 21: return new TwistySkewb (numL, quat, move, meshStream);
|
|
169 |
case 22: return new TwistyIvy (numL, quat, move, meshStream);
|
|
170 |
case 23: return new TwistyRex (numL, quat, move, meshStream);
|
|
171 |
case 24: return new TwistyBandagedFused (numL, quat, move, meshStream);
|
|
172 |
case 25: return new TwistyBandaged2Bar (numL, quat, move, meshStream);
|
|
173 |
case 26: return new TwistyBandaged3Plate(numL, quat, move, meshStream);
|
|
174 |
case 27: return new TwistyBandagedEvil (numL, quat, move, meshStream);
|
|
175 |
case 28: return new TwistySquare1 (numL, quat, move, meshStream);
|
|
176 |
case 29: return new TwistySquare2 (numL, quat, move, meshStream);
|
|
196 | 177 |
case 30: |
197 |
case 31: return new TwistyMirror (numL, quat, move, stream);
|
|
178 |
case 31: return new TwistyMirror (numL, quat, move, meshStream);
|
|
198 | 179 |
case 32: |
199 | 180 |
case 33: |
200 |
case 34: return new TwistyCuboid (numL, quat, move, stream);
|
|
201 |
case 35: return new TwistyHelicopter (numL, quat, move, stream);
|
|
181 |
case 34: return new TwistyCuboid (numL, quat, move, meshStream);
|
|
182 |
case 35: return new TwistyHelicopter (numL, quat, move, meshStream);
|
|
202 | 183 |
} |
203 | 184 |
|
204 | 185 |
return null; |
Also available in: Unified diff
Move the main app to the 'J1M1' object creation mode, i.e. create them from the Json files and using the Dmesh fiels as well.
Make it possible for any app descending from the 'objectlib' to use any of the J0M0, J0M1, J1M0, J1M1 modes.