Revision a57e6870
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/objectlib/main/ObjectType.java | ||
---|---|---|
34 | 34 |
|
35 | 35 |
public enum ObjectType |
36 | 36 |
{ |
37 |
CUBE_2 ( 2, 12, R.drawable.s_cube_2, R.drawable.m_cube_2, R.drawable.b_cube_2, R.drawable.h_cube_2),
|
|
38 |
CUBE_3 ( 3, 17, R.drawable.s_cube_3, R.drawable.m_cube_3, R.drawable.b_cube_3, R.drawable.h_cube_3),
|
|
39 |
CUBE_4 ( 4, 24, R.drawable.s_cube_4, R.drawable.m_cube_4, R.drawable.b_cube_4, R.drawable.h_cube_4),
|
|
40 |
CUBE_5 ( 5, 28, R.drawable.s_cube_5, R.drawable.m_cube_5, R.drawable.b_cube_5, R.drawable.h_cube_5),
|
|
41 |
JING_2 ( 2, 11, R.drawable.s_jing_2, R.drawable.m_jing_2, R.drawable.b_jing_2, R.drawable.h_jing_2),
|
|
42 |
PYRA_3 ( 3, 10, R.drawable.s_pyra_3, R.drawable.m_pyra_3, R.drawable.b_pyra_3, R.drawable.h_pyra_3),
|
|
43 |
PYRA_4 ( 4, 17, R.drawable.s_pyra_4, R.drawable.m_pyra_4, R.drawable.b_pyra_4, R.drawable.h_pyra_4),
|
|
44 |
PYRA_5 ( 5, 23, R.drawable.s_pyra_5, R.drawable.m_pyra_5, R.drawable.b_pyra_5, R.drawable.h_pyra_5),
|
|
45 |
KILO_3 ( 3, 18, R.drawable.s_kilo_3, R.drawable.m_kilo_3, R.drawable.b_kilo_3, R.drawable.h_kilo_3),
|
|
46 |
KILO_5 ( 5, 33, R.drawable.s_kilo_5, R.drawable.m_kilo_5, R.drawable.b_kilo_5, R.drawable.h_kilo_5),
|
|
47 |
MEGA_3 ( 3, 21, R.drawable.s_mega_3, R.drawable.m_mega_3, R.drawable.b_mega_3, R.drawable.h_mega_3),
|
|
48 |
MEGA_5 ( 5, 37, R.drawable.s_mega_5, R.drawable.m_mega_5, R.drawable.b_mega_5, R.drawable.h_mega_5),
|
|
49 |
ULTI_2 ( 2, 18, R.drawable.s_ulti_2, R.drawable.m_ulti_2, R.drawable.b_ulti_2, R.drawable.h_ulti_2),
|
|
50 |
DIAM_2 ( 2, 12, R.drawable.s_diam_2, R.drawable.m_diam_2, R.drawable.b_diam_2, R.drawable.h_diam_2),
|
|
51 |
DIAM_3 ( 3, 24, R.drawable.s_diam_3, R.drawable.m_diam_3, R.drawable.b_diam_3, R.drawable.h_diam_3),
|
|
52 |
DIAM_4 ( 4, 32, R.drawable.s_diam_4, R.drawable.m_diam_4, R.drawable.b_diam_4, R.drawable.h_diam_4),
|
|
53 |
DINO_3 ( 3, 10, R.drawable.s_dino_3, R.drawable.m_dino_3, R.drawable.b_dino_3, R.drawable.h_dino_3),
|
|
54 |
DIN4_3 ( 3, 7, R.drawable.s_din4_3, R.drawable.m_din4_3, R.drawable.b_din4_3, R.drawable.h_din4_3),
|
|
55 |
REDI_3 ( 3, 16, R.drawable.s_redi_3, R.drawable.m_redi_3, R.drawable.b_redi_3, R.drawable.h_redi_3),
|
|
56 |
HELI_3 ( 3, 20, R.drawable.s_heli_3, R.drawable.m_heli_3, R.drawable.b_heli_3, R.drawable.h_heli_3),
|
|
57 |
SKEW_2 ( 2, 11, R.drawable.s_skew_2, R.drawable.m_skew_2, R.drawable.b_skew_2, R.drawable.h_skew_2),
|
|
58 |
SKEW_3 ( 3, 21, R.drawable.s_skew_3, R.drawable.m_skew_3, R.drawable.b_skew_3, R.drawable.h_skew_3),
|
|
59 |
IVY_2 ( 2, 8, R.drawable.s_ivy_2 , R.drawable.m_ivy_2 , R.drawable.b_ivy_2 , R.drawable.h_ivy_2 ),
|
|
60 |
REX_3 ( 3, 19, R.drawable.s_rex_3 , R.drawable.m_rex_3 , R.drawable.b_rex_3 , R.drawable.h_rex_3 ),
|
|
61 |
BAN1_3 ( 3, 16, R.drawable.s_ban1_3, R.drawable.m_ban1_3, R.drawable.b_ban1_3, R.drawable.h_ban1_3),
|
|
62 |
BAN2_3 ( 3, 16, R.drawable.s_ban2_3, R.drawable.m_ban2_3, R.drawable.b_ban2_3, R.drawable.h_ban2_3),
|
|
63 |
BAN3_3 ( 3, 16, R.drawable.s_ban3_3, R.drawable.m_ban3_3, R.drawable.b_ban3_3, R.drawable.h_ban3_3),
|
|
64 |
BAN4_3 ( 3, 16, R.drawable.s_ban4_3, R.drawable.m_ban4_3, R.drawable.b_ban4_3, R.drawable.h_ban4_3),
|
|
65 |
SQU1_3 ( 3, 24, R.drawable.s_squ1_3, R.drawable.m_squ1_3, R.drawable.b_squ1_3, R.drawable.h_squ1_3),
|
|
66 |
SQU2_3 ( 3, 24, R.drawable.s_squ2_3, R.drawable.m_squ2_3, R.drawable.b_squ2_3, R.drawable.h_squ2_3),
|
|
67 |
MIRR_2 ( 2, 12, R.drawable.s_mirr_2, R.drawable.m_mirr_2, R.drawable.b_mirr_2, R.drawable.h_mirr_2),
|
|
68 |
MIRR_3 ( 3, 17, R.drawable.s_mirr_3, R.drawable.m_mirr_3, R.drawable.b_mirr_3, R.drawable.h_mirr_3),
|
|
37 |
CUBE_2 ( new int[] {2,2,2} , 12, R.drawable.s_cube_2, R.drawable.m_cube_2, R.drawable.b_cube_2, R.drawable.h_cube_2),
|
|
38 |
CUBE_3 ( new int[] {3,3,3} , 17, R.drawable.s_cube_3, R.drawable.m_cube_3, R.drawable.b_cube_3, R.drawable.h_cube_3),
|
|
39 |
CUBE_4 ( new int[] {4,4,4} , 24, R.drawable.s_cube_4, R.drawable.m_cube_4, R.drawable.b_cube_4, R.drawable.h_cube_4),
|
|
40 |
CUBE_5 ( new int[] {5,5,5} , 28, R.drawable.s_cube_5, R.drawable.m_cube_5, R.drawable.b_cube_5, R.drawable.h_cube_5),
|
|
41 |
JING_2 ( new int[] {2,2,2,2} , 11, R.drawable.s_jing_2, R.drawable.m_jing_2, R.drawable.b_jing_2, R.drawable.h_jing_2),
|
|
42 |
PYRA_3 ( new int[] {3,3,3,3} , 10, R.drawable.s_pyra_3, R.drawable.m_pyra_3, R.drawable.b_pyra_3, R.drawable.h_pyra_3),
|
|
43 |
PYRA_4 ( new int[] {4,4,4,4} , 17, R.drawable.s_pyra_4, R.drawable.m_pyra_4, R.drawable.b_pyra_4, R.drawable.h_pyra_4),
|
|
44 |
PYRA_5 ( new int[] {5,5,5,5} , 23, R.drawable.s_pyra_5, R.drawable.m_pyra_5, R.drawable.b_pyra_5, R.drawable.h_pyra_5),
|
|
45 |
KILO_3 ( new int[] {3,3,3,3,3,3}, 18, R.drawable.s_kilo_3, R.drawable.m_kilo_3, R.drawable.b_kilo_3, R.drawable.h_kilo_3),
|
|
46 |
KILO_5 ( new int[] {5,5,5,5,5,5}, 33, R.drawable.s_kilo_5, R.drawable.m_kilo_5, R.drawable.b_kilo_5, R.drawable.h_kilo_5),
|
|
47 |
MEGA_3 ( new int[] {3,3,3,3,3,3}, 21, R.drawable.s_mega_3, R.drawable.m_mega_3, R.drawable.b_mega_3, R.drawable.h_mega_3),
|
|
48 |
MEGA_5 ( new int[] {5,5,5,5,5,5}, 37, R.drawable.s_mega_5, R.drawable.m_mega_5, R.drawable.b_mega_5, R.drawable.h_mega_5),
|
|
49 |
ULTI_2 ( new int[] {2,2,2,2} , 18, R.drawable.s_ulti_2, R.drawable.m_ulti_2, R.drawable.b_ulti_2, R.drawable.h_ulti_2),
|
|
50 |
DIAM_2 ( new int[] {2,2,2,2} , 12, R.drawable.s_diam_2, R.drawable.m_diam_2, R.drawable.b_diam_2, R.drawable.h_diam_2),
|
|
51 |
DIAM_3 ( new int[] {3,3,3,3} , 24, R.drawable.s_diam_3, R.drawable.m_diam_3, R.drawable.b_diam_3, R.drawable.h_diam_3),
|
|
52 |
DIAM_4 ( new int[] {4,4,4,4} , 32, R.drawable.s_diam_4, R.drawable.m_diam_4, R.drawable.b_diam_4, R.drawable.h_diam_4),
|
|
53 |
DINO_3 ( new int[] {3,3,3,3} , 10, R.drawable.s_dino_3, R.drawable.m_dino_3, R.drawable.b_dino_3, R.drawable.h_dino_3),
|
|
54 |
DIN4_3 ( new int[] {3,3,3,3} , 7, R.drawable.s_din4_3, R.drawable.m_din4_3, R.drawable.b_din4_3, R.drawable.h_din4_3),
|
|
55 |
REDI_3 ( new int[] {3,3,3,3} , 16, R.drawable.s_redi_3, R.drawable.m_redi_3, R.drawable.b_redi_3, R.drawable.h_redi_3),
|
|
56 |
HELI_3 ( new int[] {3,3,3,3,3,3}, 20, R.drawable.s_heli_3, R.drawable.m_heli_3, R.drawable.b_heli_3, R.drawable.h_heli_3),
|
|
57 |
SKEW_2 ( new int[] {2,2,2,2} , 11, R.drawable.s_skew_2, R.drawable.m_skew_2, R.drawable.b_skew_2, R.drawable.h_skew_2),
|
|
58 |
SKEW_3 ( new int[] {3,3,3,3} , 21, R.drawable.s_skew_3, R.drawable.m_skew_3, R.drawable.b_skew_3, R.drawable.h_skew_3),
|
|
59 |
IVY_2 ( new int[] {2,2,2,2} , 8, R.drawable.s_ivy_2 , R.drawable.m_ivy_2 , R.drawable.b_ivy_2 , R.drawable.h_ivy_2 ),
|
|
60 |
REX_3 ( new int[] {3,3,3,3} , 19, R.drawable.s_rex_3 , R.drawable.m_rex_3 , R.drawable.b_rex_3 , R.drawable.h_rex_3 ),
|
|
61 |
BAN1_3 ( new int[] {3,3,3} , 16, R.drawable.s_ban1_3, R.drawable.m_ban1_3, R.drawable.b_ban1_3, R.drawable.h_ban1_3),
|
|
62 |
BAN2_3 ( new int[] {3,3,3} , 16, R.drawable.s_ban2_3, R.drawable.m_ban2_3, R.drawable.b_ban2_3, R.drawable.h_ban2_3),
|
|
63 |
BAN3_3 ( new int[] {3,3,3} , 16, R.drawable.s_ban3_3, R.drawable.m_ban3_3, R.drawable.b_ban3_3, R.drawable.h_ban3_3),
|
|
64 |
BAN4_3 ( new int[] {3,3,3} , 16, R.drawable.s_ban4_3, R.drawable.m_ban4_3, R.drawable.b_ban4_3, R.drawable.h_ban4_3),
|
|
65 |
SQU1_3 ( new int[] {3,2,3} , 24, R.drawable.s_squ1_3, R.drawable.m_squ1_3, R.drawable.b_squ1_3, R.drawable.h_squ1_3),
|
|
66 |
SQU2_3 ( new int[] {3,2,3} , 24, R.drawable.s_squ2_3, R.drawable.m_squ2_3, R.drawable.b_squ2_3, R.drawable.h_squ2_3),
|
|
67 |
MIRR_2 ( new int[] {2,2,2} , 12, R.drawable.s_mirr_2, R.drawable.m_mirr_2, R.drawable.b_mirr_2, R.drawable.h_mirr_2),
|
|
68 |
MIRR_3 ( new int[] {3,3,3} , 17, R.drawable.s_mirr_3, R.drawable.m_mirr_3, R.drawable.b_mirr_3, R.drawable.h_mirr_3),
|
|
69 | 69 |
; |
70 | 70 |
|
71 | 71 |
public static final int NUM_OBJECTS = values().length; |
72 | 72 |
public static final int MAX_SCRAMBLE,MAX_OBJECT_SIZE; |
73 | 73 |
|
74 |
private final int mSize, mNumScrambles; |
|
74 |
private final int[] mNumLayers; |
|
75 |
private final int mNumScrambles; |
|
75 | 76 |
private final int mSmallIcon, mMediumIcon, mBigIcon, mHugeIcon; |
76 | 77 |
|
77 | 78 |
private static final ObjectType[] objects; |
... | ... | |
88 | 89 |
objects[i++] = object; |
89 | 90 |
|
90 | 91 |
if( object.mNumScrambles> maxScramble ) maxScramble= object.mNumScrambles; |
91 |
if( object.mSize > maxSize ) maxSize = object.mSize; |
|
92 |
|
|
93 |
int len = object.mNumLayers.length; |
|
94 |
|
|
95 |
for(int j=0; j<len; j++) |
|
96 |
if( object.mNumLayers[j]>maxSize ) maxSize = object.mNumLayers[j]; |
|
92 | 97 |
} |
93 | 98 |
|
94 | 99 |
MAX_SCRAMBLE = maxScramble; |
... | ... | |
123 | 128 |
|
124 | 129 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
125 | 130 |
|
126 |
ObjectType(int size, int scrambles, int sIcon, int mIcon, int bIcon, int hIcon)
|
|
131 |
ObjectType(int[] numLayers, int scrambles, int sIcon, int mIcon, int bIcon, int hIcon)
|
|
127 | 132 |
{ |
128 |
mSize = size;
|
|
133 |
mNumLayers = numLayers;
|
|
129 | 134 |
mNumScrambles= scrambles; |
130 | 135 |
mSmallIcon = sIcon; |
131 | 136 |
mMediumIcon = mIcon; |
... | ... | |
157 | 162 |
MeshSquare mesh = new MeshSquare(20,20); // mesh of the node, not of the cubits |
158 | 163 |
|
159 | 164 |
int ord = ordinal(); |
160 |
int size= objects[ord].mSize;
|
|
165 |
int[] numL= objects[ord].mNumLayers;
|
|
161 | 166 |
|
162 | 167 |
switch(ord) |
163 | 168 |
{ |
164 | 169 |
case 0: |
165 | 170 |
case 1: |
166 | 171 |
case 2: |
167 |
case 3: return new TwistyCube (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
168 |
case 4: return new TwistyJing (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
172 |
case 3: return new TwistyCube (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
173 |
case 4: return new TwistyJing (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
169 | 174 |
case 5: |
170 | 175 |
case 6: |
171 |
case 7: return new TwistyPyraminx (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
176 |
case 7: return new TwistyPyraminx (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
172 | 177 |
case 8: |
173 |
case 9: return new TwistyKilominx (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
178 |
case 9: return new TwistyKilominx (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
174 | 179 |
case 10: |
175 |
case 11: return new TwistyMegaminx (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
176 |
case 12: return new TwistyUltimate (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
180 |
case 11: return new TwistyMegaminx (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
181 |
case 12: return new TwistyUltimate (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
177 | 182 |
case 13: |
178 | 183 |
case 14: |
179 |
case 15: return new TwistyDiamond (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
180 |
case 16: return new TwistyDino6 (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
181 |
case 17: return new TwistyDino4 (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
182 |
case 18: return new TwistyRedi (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
183 |
case 19: return new TwistyHelicopter (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
184 |
case 15: return new TwistyDiamond (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
185 |
case 16: return new TwistyDino6 (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
186 |
case 17: return new TwistyDino4 (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
187 |
case 18: return new TwistyRedi (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
188 |
case 19: return new TwistyHelicopter (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
184 | 189 |
case 20: |
185 |
case 21: return new TwistySkewb (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
186 |
case 22: return new TwistyIvy (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
187 |
case 23: return new TwistyRex (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
188 |
case 24: return new TwistyBandagedFused (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
189 |
case 25: return new TwistyBandaged2Bar (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
190 |
case 26: return new TwistyBandaged3Plate(size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
191 |
case 27: return new TwistyBandagedEvil (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
192 |
case 28: return new TwistySquare1 (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
193 |
case 29: return new TwistySquare2 (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
190 |
case 21: return new TwistySkewb (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
191 |
case 22: return new TwistyIvy (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
192 |
case 23: return new TwistyRex (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
193 |
case 24: return new TwistyBandagedFused (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
194 |
case 25: return new TwistyBandaged2Bar (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
195 |
case 26: return new TwistyBandaged3Plate(numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
196 |
case 27: return new TwistyBandagedEvil (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
197 |
case 28: return new TwistySquare1 (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
198 |
case 29: return new TwistySquare2 (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
194 | 199 |
case 30: |
195 |
case 31: return new TwistyMirror (size, quat, move, texture, mesh, effects, res, scrWidth);
|
|
200 |
case 31: return new TwistyMirror (numL, quat, move, texture, mesh, effects, res, scrWidth);
|
|
196 | 201 |
} |
197 | 202 |
|
198 | 203 |
return null; |
Also available in: Unified diff
make numLayers into an int[] (preparation for Cuboids)
Caution: because of previous changes to cubit order in cube, the Solver is broken!