21 |
21 |
|
22 |
22 |
import java.io.InputStream;
|
23 |
23 |
|
24 |
|
import android.content.res.Resources;
|
25 |
|
|
26 |
24 |
import org.distorted.library.type.Static3D;
|
27 |
25 |
import org.distorted.library.type.Static4D;
|
28 |
26 |
|
... | ... | |
33 |
31 |
|
34 |
32 |
public enum ObjectType
|
35 |
33 |
{
|
36 |
|
CUBE_2 ( new int[] {2,2,2} , 12, R.raw.cube_2, R.drawable.cube_2s, R.drawable.cube_2m, R.drawable.cube_2b, R.drawable.cube_2h),
|
37 |
|
CUBE_3 ( new int[] {3,3,3} , 17, R.raw.cube_3, R.drawable.cube_3s, R.drawable.cube_3m, R.drawable.cube_3b, R.drawable.cube_3h),
|
38 |
|
CUBE_4 ( new int[] {4,4,4} , 24, R.raw.cube_4, R.drawable.cube_4s, R.drawable.cube_4m, R.drawable.cube_4b, R.drawable.cube_4h),
|
39 |
|
CUBE_5 ( new int[] {5,5,5} , 28, R.raw.cube_5, R.drawable.cube_5s, R.drawable.cube_5m, R.drawable.cube_5b, R.drawable.cube_5h),
|
40 |
|
JING_2 ( new int[] {2,2,2,2} , 11, R.raw.jing_2, R.drawable.jing_2s, R.drawable.jing_2m, R.drawable.jing_2b, R.drawable.jing_2h),
|
41 |
|
PYRA_3 ( new int[] {3,3,3,3} , 10, R.raw.pyra_3, R.drawable.pyra_3s, R.drawable.pyra_3m, R.drawable.pyra_3b, R.drawable.pyra_3h),
|
42 |
|
PYRA_4 ( new int[] {4,4,4,4} , 17, R.raw.pyra_4, R.drawable.pyra_4s, R.drawable.pyra_4m, R.drawable.pyra_4b, R.drawable.pyra_4h),
|
43 |
|
PYRA_5 ( new int[] {5,5,5,5} , 23, R.raw.pyra_5, R.drawable.pyra_5s, R.drawable.pyra_5m, R.drawable.pyra_5b, R.drawable.pyra_5h),
|
44 |
|
KILO_3 ( new int[] {3,3,3,3,3,3}, 18, R.raw.kilo_3, R.drawable.kilo_3s, R.drawable.kilo_3m, R.drawable.kilo_3b, R.drawable.kilo_3h),
|
45 |
|
KILO_5 ( new int[] {5,5,5,5,5,5}, 33, R.raw.kilo_5, R.drawable.kilo_5s, R.drawable.kilo_5m, R.drawable.kilo_5b, R.drawable.kilo_5h),
|
46 |
|
MEGA_3 ( new int[] {3,3,3,3,3,3}, 21, R.raw.mega_3, R.drawable.mega_3s, R.drawable.mega_3m, R.drawable.mega_3b, R.drawable.mega_3h),
|
47 |
|
MEGA_5 ( new int[] {5,5,5,5,5,5}, 37, R.raw.mega_5, R.drawable.mega_5s, R.drawable.mega_5m, R.drawable.mega_5b, R.drawable.mega_5h),
|
48 |
|
ULTI_2 ( new int[] {2,2,2,2} , 18, R.raw.ulti_2, R.drawable.ulti_2s, R.drawable.ulti_2m, R.drawable.ulti_2b, R.drawable.ulti_2h),
|
49 |
|
DIAM_2 ( new int[] {2,2,2,2} , 12, R.raw.diam_2, R.drawable.diam_2s, R.drawable.diam_2m, R.drawable.diam_2b, R.drawable.diam_2h),
|
50 |
|
DIAM_3 ( new int[] {3,3,3,3} , 24, R.raw.diam_3, R.drawable.diam_3s, R.drawable.diam_3m, R.drawable.diam_3b, R.drawable.diam_3h),
|
51 |
|
DIAM_4 ( new int[] {4,4,4,4} , 32, R.raw.diam_4, R.drawable.diam_4s, R.drawable.diam_4m, R.drawable.diam_4b, R.drawable.diam_4h),
|
52 |
|
DINO_3 ( new int[] {3,3,3,3} , 10, R.raw.dino_3, R.drawable.dino_3s, R.drawable.dino_3m, R.drawable.dino_3b, R.drawable.dino_3h),
|
53 |
|
DIN4_3 ( new int[] {3,3,3,3} , 7, R.raw.dino_3, R.drawable.din4_3s, R.drawable.din4_3m, R.drawable.din4_3b, R.drawable.din4_3h),
|
54 |
|
REDI_3 ( new int[] {3,3,3,3} , 16, R.raw.redi_3, R.drawable.redi_3s, R.drawable.redi_3m, R.drawable.redi_3b, R.drawable.redi_3h),
|
55 |
|
HELI_3 ( new int[] {3,3,3,3,3,3}, 20, R.raw.heli_3, R.drawable.heli_3s, R.drawable.heli_3m, R.drawable.heli_3b, R.drawable.heli_3h),
|
56 |
|
SKEW_2 ( new int[] {2,2,2,2} , 11, R.raw.skew_2, R.drawable.skew_2s, R.drawable.skew_2m, R.drawable.skew_2b, R.drawable.skew_2h),
|
57 |
|
SKEW_3 ( new int[] {3,3,3,3} , 21, R.raw.skew_3, R.drawable.skew_3s, R.drawable.skew_3m, R.drawable.skew_3b, R.drawable.skew_3h),
|
58 |
|
IVY_2 ( new int[] {2,2,2,2} , 8, R.raw.ivy_2 , R.drawable.ivy_2s , R.drawable.ivy_2m , R.drawable.ivy_2b , R.drawable.ivy_2h ),
|
59 |
|
REX_3 ( new int[] {3,3,3,3} , 19, R.raw.rex_3 , R.drawable.rex_3s , R.drawable.rex_3m , R.drawable.rex_3b , R.drawable.rex_3h ),
|
60 |
|
BAN1_3 ( new int[] {3,3,3} , 16, R.raw.ban1_3, R.drawable.ban1_3s, R.drawable.ban1_3m, R.drawable.ban1_3b, R.drawable.ban1_3h),
|
61 |
|
BAN2_3 ( new int[] {3,3,3} , 16, R.raw.ban2_3, R.drawable.ban2_3s, R.drawable.ban2_3m, R.drawable.ban2_3b, R.drawable.ban2_3h),
|
62 |
|
BAN3_3 ( new int[] {3,3,3} , 16, R.raw.ban3_3, R.drawable.ban3_3s, R.drawable.ban3_3m, R.drawable.ban3_3b, R.drawable.ban3_3h),
|
63 |
|
BAN4_3 ( new int[] {3,3,3} , 16, R.raw.ban4_3, R.drawable.ban4_3s, R.drawable.ban4_3m, R.drawable.ban4_3b, R.drawable.ban4_3h),
|
64 |
|
SQU1_3 ( new int[] {3,2,3} , 24, R.raw.squ1_3, R.drawable.squ1_3s, R.drawable.squ1_3m, R.drawable.squ1_3b, R.drawable.squ1_3h),
|
65 |
|
SQU2_3 ( new int[] {3,2,3} , 24, R.raw.squ2_3, R.drawable.squ2_3s, R.drawable.squ2_3m, R.drawable.squ2_3b, R.drawable.squ2_3h),
|
66 |
|
MIRR_2 ( new int[] {2,2,2} , 12, R.raw.mirr_2, R.drawable.mirr_2s, R.drawable.mirr_2m, R.drawable.mirr_2b, R.drawable.mirr_2h),
|
67 |
|
MIRR_3 ( new int[] {3,3,3} , 17, R.raw.mirr_3, R.drawable.mirr_3s, R.drawable.mirr_3m, R.drawable.mirr_3b, R.drawable.mirr_3h),
|
68 |
|
CU_323 ( new int[] {3,2,3} , 15, R.raw.cu_323, R.drawable.cu_323s, R.drawable.cu_323m, R.drawable.cu_323b, R.drawable.cu_323h),
|
69 |
|
CU_232 ( new int[] {2,3,2} , 16, R.raw.cu_232, R.drawable.cu_232s, R.drawable.cu_232m, R.drawable.cu_232b, R.drawable.cu_232h),
|
70 |
|
CU_343 ( new int[] {3,4,3} , 23, R.raw.cu_343, R.drawable.cu_343s, R.drawable.cu_343m, R.drawable.cu_343b, R.drawable.cu_343h),
|
71 |
|
|
72 |
|
TEST ( new int[] {2,2,2} , 12, R.raw.cube_2, R.drawable.cube_2s, R.drawable.cube_2m, R.drawable.cube_2b, R.drawable.cube_2h),
|
|
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 |
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),
|
|
39 |
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),
|
|
40 |
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),
|
|
41 |
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),
|
|
42 |
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),
|
|
43 |
KILO_5 ( new int[] {5,5,5,5,5,5}, 33, R.raw.json_kilo_3, R.raw.kilo_3, R.drawable.kilo_5s, R.drawable.kilo_5m, R.drawable.kilo_5b, R.drawable.kilo_5h),
|
|
44 |
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),
|
|
45 |
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),
|
|
46 |
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),
|
|
47 |
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),
|
|
48 |
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),
|
|
49 |
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),
|
|
50 |
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),
|
|
51 |
DIN4_3 ( new int[] {3,3,3,3} , 7, R.raw.json_dino_3, R.raw.dino_3, R.drawable.din4_3s, R.drawable.din4_3m, R.drawable.din4_3b, R.drawable.din4_3h),
|
|
52 |
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),
|
|
53 |
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),
|
|
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),
|
73 |
69 |
;
|
74 |
70 |
|
75 |
71 |
public static final int NUM_OBJECTS = values().length;
|
... | ... | |
78 |
74 |
private final int[] mNumLayers;
|
79 |
75 |
private final int mNumScrambles;
|
80 |
76 |
private final int mSmallIcon, mMediumIcon, mBigIcon, mHugeIcon;
|
81 |
|
private final int mMeshID;
|
|
77 |
private final int mMeshID, mJsonID;
|
82 |
78 |
|
83 |
79 |
private static final ObjectType[] objects;
|
84 |
80 |
|
... | ... | |
126 |
122 |
|
127 |
123 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
128 |
124 |
|
129 |
|
ObjectType(int[] numLayers, int scrambles, int meshID, int sIcon, int mIcon, int bIcon, int hIcon)
|
|
125 |
ObjectType(int[] numLayers, int scrambles, int jsonID, int meshID, int sIcon, int mIcon, int bIcon, int hIcon)
|
130 |
126 |
{
|
131 |
127 |
mNumLayers = numLayers;
|
132 |
128 |
mNumScrambles= scrambles;
|
|
129 |
mJsonID = jsonID;
|
133 |
130 |
mMeshID = meshID;
|
134 |
131 |
mSmallIcon = sIcon;
|
135 |
132 |
mMediumIcon = mIcon;
|
... | ... | |
161 |
158 |
|
162 |
159 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
163 |
160 |
|
164 |
|
public TwistyObject create(Static4D quat, Static3D move, Resources res)
|
|
161 |
public int getMeshID()
|
|
162 |
{
|
|
163 |
return mMeshID;
|
|
164 |
}
|
|
165 |
|
|
166 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
167 |
|
|
168 |
public int getJsonID()
|
|
169 |
{
|
|
170 |
return mJsonID;
|
|
171 |
}
|
|
172 |
|
|
173 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
174 |
|
|
175 |
public TwistyObject create(Static4D quat, Static3D move, InputStream stream)
|
165 |
176 |
{
|
166 |
177 |
int ord = ordinal();
|
167 |
178 |
int[] numL= objects[ord].mNumLayers;
|
168 |
|
InputStream stream = ( mMeshID!=0 && !ObjectControl.isInCreateMesh() ) ? res.openRawResource(mMeshID) : null;
|
169 |
179 |
|
170 |
180 |
switch(ord)
|
171 |
181 |
{
|
Progress with PuzzleTester app.