Project

General

Profile

« Previous | Next » 

Revision 8005e762

Added by Leszek Koltunski over 2 years ago

Reename ObjectList to a more logical ObjectType.

View differences:

src/main/java/org/distorted/objectlib/main/Cubit.java
155 155
    for(int axis=0; axis<mNumAxis; axis++)
156 156
      {
157 157
      result += (mRotationRow[axis]<<accumulativeShift);
158
      accumulativeShift += ObjectList.MAX_OBJECT_SIZE;
158
      accumulativeShift += ObjectType.MAX_OBJECT_SIZE;
159 159
      }
160 160

  
161 161
    return result;
src/main/java/org/distorted/objectlib/main/ObjectList.java
1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6
// Magic Cube is free software: you can redistribute it and/or modify                            //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Magic Cube is distributed in the hope that it will be useful,                                 //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

  
20
package org.distorted.objectlib.main;
21

  
22
import android.content.res.Resources;
23

  
24
import org.distorted.library.main.DistortedEffects;
25
import org.distorted.library.main.DistortedTexture;
26
import org.distorted.library.mesh.MeshSquare;
27
import org.distorted.library.type.Static4D;
28
import org.distorted.objectlib.R;
29
import org.distorted.objectlib.objects.TwistyBandaged2Bar;
30
import org.distorted.objectlib.objects.TwistyBandaged3Plate;
31
import org.distorted.objectlib.objects.TwistyBandagedEvil;
32
import org.distorted.objectlib.objects.TwistyBandagedFused;
33
import org.distorted.objectlib.objects.TwistyCube;
34
import org.distorted.objectlib.objects.TwistyDiamond;
35
import org.distorted.objectlib.objects.TwistyDino4;
36
import org.distorted.objectlib.objects.TwistyDino6;
37
import org.distorted.objectlib.objects.TwistyHelicopter;
38
import org.distorted.objectlib.objects.TwistyIvy;
39
import org.distorted.objectlib.objects.TwistyJing;
40
import org.distorted.objectlib.objects.TwistyKilominx;
41
import org.distorted.objectlib.objects.TwistyMegaminx;
42
import org.distorted.objectlib.objects.TwistyMirror;
43
import org.distorted.objectlib.objects.TwistyPyraminx;
44
import org.distorted.objectlib.objects.TwistyRedi;
45
import org.distorted.objectlib.objects.TwistyRex;
46
import org.distorted.objectlib.objects.TwistySkewb;
47
import org.distorted.objectlib.objects.TwistySquare1;
48
import org.distorted.objectlib.objects.TwistySquare2;
49
import org.distorted.objectlib.objects.TwistyUltimate;
50

  
51
///////////////////////////////////////////////////////////////////////////////////////////////////
52

  
53
public enum ObjectList
54
  {
55
  CUBE_2 ( 0, 2, 12, 12, R.drawable.small_cube2, R.drawable.medium_cube2, R.drawable.big_cube2, R.drawable.huge_cube2),
56
  CUBE_3 ( 0, 3, 16, 17, R.drawable.small_cube3, R.drawable.medium_cube3, R.drawable.big_cube3, R.drawable.huge_cube3),
57
  CUBE_4 ( 0, 4, 20, 24, R.drawable.small_cube4, R.drawable.medium_cube4, R.drawable.big_cube4, R.drawable.huge_cube4),
58
  CUBE_5 ( 0, 5, 24, 28, R.drawable.small_cube5, R.drawable.medium_cube5, R.drawable.big_cube5, R.drawable.huge_cube5),
59
  JING_2 ( 1, 2, 11, 11, R.drawable.small_jing2, R.drawable.medium_jing2, R.drawable.big_jing2, R.drawable.huge_jing2),
60
  PYRA_3 ( 1, 3, 10, 10, R.drawable.small_pyra3, R.drawable.medium_pyra3, R.drawable.big_pyra3, R.drawable.huge_pyra3),
61
  PYRA_4 ( 1, 4, 14, 17, R.drawable.small_pyra4, R.drawable.medium_pyra4, R.drawable.big_pyra4, R.drawable.huge_pyra4),
62
  PYRA_5 ( 1, 5, 20, 23, R.drawable.small_pyra5, R.drawable.medium_pyra5, R.drawable.big_pyra5, R.drawable.huge_pyra5),
63
  KILO_3 ( 2, 3, 18, 18, R.drawable.small_kilo3, R.drawable.medium_kilo3, R.drawable.big_kilo3, R.drawable.huge_kilo3),
64
  KILO_5 ( 2, 5, 33, 33, R.drawable.small_kilo5, R.drawable.medium_kilo5, R.drawable.big_kilo5, R.drawable.huge_kilo5),
65
  MEGA_3 ( 2, 3, 21, 21, R.drawable.small_mega3, R.drawable.medium_mega3, R.drawable.big_mega3, R.drawable.huge_mega3),
66
  MEGA_5 ( 2, 5, 35, 37, R.drawable.small_mega5, R.drawable.medium_mega5, R.drawable.big_mega5, R.drawable.huge_mega5),
67
  ULTI_2 ( 3, 2, 18, 18, R.drawable.small_ulti , R.drawable.medium_ulti , R.drawable.big_ulti , R.drawable.huge_ulti ),
68
  DIAM_2 ( 3, 2, 10, 12, R.drawable.small_diam2, R.drawable.medium_diam2, R.drawable.big_diam2, R.drawable.huge_diam2),
69
  DIAM_3 ( 3, 3, 18, 24, R.drawable.small_diam3, R.drawable.medium_diam3, R.drawable.big_diam3, R.drawable.huge_diam3),
70
  DIAM_4 ( 3, 4, 32, 32, R.drawable.small_diam4, R.drawable.medium_diam4, R.drawable.big_diam4, R.drawable.huge_diam4),
71
  DINO_3 ( 4, 3, 10, 10, R.drawable.small_dino , R.drawable.medium_dino , R.drawable.big_dino , R.drawable.huge_dino ),
72
  DIN4_3 ( 4, 3,  7,  7, R.drawable.small_din4 , R.drawable.medium_din4 , R.drawable.big_din4 , R.drawable.huge_din4 ),
73
  REDI_3 ( 4, 3, 14, 16, R.drawable.small_redi , R.drawable.medium_redi , R.drawable.big_redi , R.drawable.huge_redi ),
74
  HELI_3 ( 4, 3, 18, 20, R.drawable.small_heli , R.drawable.medium_heli , R.drawable.big_heli , R.drawable.huge_heli ),
75
  SKEW_2 ( 5, 2, 11, 11, R.drawable.small_skew2, R.drawable.medium_skew2, R.drawable.big_skew2, R.drawable.huge_skew2),
76
  SKEW_3 ( 5, 3, 17, 21, R.drawable.small_skew3, R.drawable.medium_skew3, R.drawable.big_skew3, R.drawable.huge_skew3),
77
  IVY_2  ( 5, 2,  8,  8, R.drawable.small_ivy  , R.drawable.medium_ivy  , R.drawable.big_ivy  , R.drawable.huge_ivy  ),
78
  REX_3  ( 5, 3, 16, 19, R.drawable.small_rex  , R.drawable.medium_rex  , R.drawable.big_rex  , R.drawable.huge_rex  ),
79
  BAN1_3 ( 6, 3, 16, 16, R.drawable.small_ban1 , R.drawable.medium_ban1 , R.drawable.big_ban1 , R.drawable.huge_ban1 ),
80
  BAN2_3 ( 6, 3, 16, 16, R.drawable.small_ban2 , R.drawable.medium_ban2 , R.drawable.big_ban2 , R.drawable.huge_ban2 ),
81
  BAN3_3 ( 6, 3, 16, 16, R.drawable.small_ban3 , R.drawable.medium_ban3 , R.drawable.big_ban3 , R.drawable.huge_ban3 ),
82
  BAN4_3 ( 6, 3, 16, 16, R.drawable.small_ban4 , R.drawable.medium_ban4 , R.drawable.big_ban4 , R.drawable.huge_ban4 ),
83
  SQU1_3 ( 7, 3, 24, 24, R.drawable.small_squa1, R.drawable.medium_squa1, R.drawable.big_squa1, R.drawable.huge_squa1),
84
  SQU2_3 ( 7, 3, 24, 24, R.drawable.small_squa2, R.drawable.medium_squa2, R.drawable.big_squa2, R.drawable.huge_squa2),
85
  MIRR_2 ( 7, 2, 12, 12, R.drawable.small_mirr2, R.drawable.medium_mirr2, R.drawable.big_mirr2, R.drawable.huge_mirr2),
86
  MIRR_3 ( 7, 3, 16, 17, R.drawable.small_mirr3, R.drawable.medium_mirr3, R.drawable.big_mirr3, R.drawable.huge_mirr3),
87
  ;
88

  
89
  public static final int NUM_OBJECTS = values().length;
90
  public static final int MAX_LEVEL;
91
  public static final int MAX_SCRAMBLE;
92
  public static final int MAX_OBJECT_SIZE;
93

  
94
  private final int mRow, mSize, mDBLevels, mNumScrambles;
95
  private final int mSmallIconID, mMediumIconID, mBigIconID, mHugeIconID;
96

  
97
  private static final ObjectList[] objects;
98
  private static int[] mIndices;
99
  private static int mColCount, mRowCount;
100

  
101
  static
102
    {
103
    int i = 0;
104
    objects = new ObjectList[NUM_OBJECTS];
105
    int maxLevel   = Integer.MIN_VALUE;
106
    int maxScramble= Integer.MIN_VALUE;
107
    int maxSize    = Integer.MIN_VALUE;
108

  
109
    for(ObjectList object: ObjectList.values())
110
      {
111
      objects[i++] = object;
112

  
113
      if( object.mNumScrambles> maxScramble ) maxScramble= object.mNumScrambles;
114
      if( object.mDBLevels    > maxLevel    ) maxLevel   = object.mDBLevels;
115
      if( object.mSize        > maxSize     ) maxSize    = object.mSize;
116
      }
117

  
118
    MAX_LEVEL       = maxLevel;
119
    MAX_SCRAMBLE    = maxScramble;
120
    MAX_OBJECT_SIZE = maxSize;
121
    }
122

  
123
///////////////////////////////////////////////////////////////////////////////////////////////////
124

  
125
  private static void setUpColAndRow()
126
    {
127
    mIndices = new int[NUM_OBJECTS];
128
    mRowCount= 0;
129

  
130
    for(int obj=0; obj<NUM_OBJECTS; obj++)
131
      {
132
      mIndices[obj] = objects[obj].mRow;
133
      if( mIndices[obj]>=mRowCount ) mRowCount = mIndices[obj]+1;
134
      }
135

  
136
    mColCount = 0;
137

  
138
    for(int row=0; row<mRowCount; row++)
139
      {
140
      int numObjects = computeNumObjectsInRow(row);
141
      if( numObjects>mColCount ) mColCount = numObjects;
142
      }
143
    }
144

  
145
///////////////////////////////////////////////////////////////////////////////////////////////////
146

  
147
  private static int computeNumObjectsInRow(int row)
148
    {
149
    int num=0;
150

  
151
    for(int object=0; object<NUM_OBJECTS; object++)
152
      {
153
      if( objects[object].mRow == row ) num++;
154
      }
155

  
156
    return num;
157
    }
158

  
159
///////////////////////////////////////////////////////////////////////////////////////////////////
160

  
161
  public static int getColumnCount()
162
    {
163
    if( mIndices==null ) setUpColAndRow();
164

  
165
    return mColCount;
166
    }
167

  
168
///////////////////////////////////////////////////////////////////////////////////////////////////
169

  
170
  public static int getRowCount()
171
    {
172
    if( mIndices==null ) setUpColAndRow();
173

  
174
    return mRowCount;
175
    }
176

  
177
///////////////////////////////////////////////////////////////////////////////////////////////////
178

  
179
  public static int[] getIndices()
180
    {
181
    if( mIndices==null ) setUpColAndRow();
182

  
183
    return mIndices;
184
    }
185

  
186
///////////////////////////////////////////////////////////////////////////////////////////////////
187

  
188
  public static ObjectList getObject(int ordinal)
189
    {
190
    return ordinal>=0 && ordinal<NUM_OBJECTS ? objects[ordinal] : CUBE_3;
191
    }
192

  
193
///////////////////////////////////////////////////////////////////////////////////////////////////
194

  
195
  public static int getOrdinal(String name)
196
    {
197
    for(int i=0; i<NUM_OBJECTS; i++)
198
      {
199
      if( objects[i].name().equals(name) ) return i;
200
      }
201

  
202
    return -1;
203
    }
204

  
205
///////////////////////////////////////////////////////////////////////////////////////////////////
206

  
207
  public static String getObjectList()
208
    {
209
    StringBuilder list = new StringBuilder();
210

  
211
    for(int i=0; i<NUM_OBJECTS; i++)
212
      {
213
      if( i>0 ) list.append(',');
214
      list.append(objects[i].name());
215
      }
216

  
217
    return list.toString();
218
    }
219

  
220
///////////////////////////////////////////////////////////////////////////////////////////////////
221

  
222
  public static int getDBLevel(int ordinal)
223
    {
224
    return ordinal>=0 && ordinal<NUM_OBJECTS ? objects[ordinal].mDBLevels : 0;
225
    }
226

  
227
///////////////////////////////////////////////////////////////////////////////////////////////////
228

  
229
  public static int getNumScramble(int ordinal)
230
    {
231
    return ordinal>=0 && ordinal<NUM_OBJECTS ? objects[ordinal].mNumScrambles : 0;
232
    }
233

  
234
///////////////////////////////////////////////////////////////////////////////////////////////////
235

  
236
  ObjectList(int row, int size, int db, int scrambles, int smallIcon, int mediumIcon, int bigIcon, int hugeIcon)
237
    {
238
    mRow         = row;
239
    mSize        = size;
240
    mDBLevels    = db;
241
    mNumScrambles= scrambles;
242
    mSmallIconID = smallIcon;
243
    mMediumIconID= mediumIcon;
244
    mBigIconID   = bigIcon;
245
    mHugeIconID  = hugeIcon;
246
    }
247

  
248
///////////////////////////////////////////////////////////////////////////////////////////////////
249

  
250
  public int getIconID(int size)
251
    {
252
    switch(size)
253
      {
254
      case 0: return mSmallIconID;
255
      case 1: return mMediumIconID;
256
      case 2: return mBigIconID;
257
      case 3: return mHugeIconID;
258
      }
259

  
260
    return mSmallIconID;
261
    }
262

  
263
///////////////////////////////////////////////////////////////////////////////////////////////////
264

  
265
  public TwistyObject create(Static4D quat, int[][] moves, Resources res, int scrWidth)
266
    {
267
    DistortedTexture texture = new DistortedTexture();
268
    DistortedEffects effects = new DistortedEffects();
269
    MeshSquare mesh          = new MeshSquare(20,20);   // mesh of the node, not of the cubits
270

  
271
    switch(ordinal())
272
      {
273
      case  0: return new TwistyCube          (objects[ 0].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
274
      case  1: return new TwistyCube          (objects[ 1].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
275
      case  2: return new TwistyCube          (objects[ 2].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
276
      case  3: return new TwistyCube          (objects[ 3].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
277
      case  4: return new TwistyJing          (objects[ 4].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
278
      case  5: return new TwistyPyraminx      (objects[ 5].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
279
      case  6: return new TwistyPyraminx      (objects[ 6].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
280
      case  7: return new TwistyPyraminx      (objects[ 7].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
281
      case  8: return new TwistyKilominx      (objects[ 8].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
282
      case  9: return new TwistyKilominx      (objects[ 9].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
283
      case 10: return new TwistyMegaminx      (objects[10].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
284
      case 11: return new TwistyMegaminx      (objects[11].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
285
      case 12: return new TwistyUltimate      (objects[12].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
286
      case 13: return new TwistyDiamond       (objects[13].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
287
      case 14: return new TwistyDiamond       (objects[14].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
288
      case 15: return new TwistyDiamond       (objects[15].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
289
      case 16: return new TwistyDino6         (objects[16].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
290
      case 17: return new TwistyDino4         (objects[17].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
291
      case 18: return new TwistyRedi          (objects[18].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
292
      case 19: return new TwistyHelicopter    (objects[19].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
293
      case 20: return new TwistySkewb         (objects[20].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
294
      case 21: return new TwistySkewb         (objects[21].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
295
      case 22: return new TwistyIvy           (objects[22].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
296
      case 23: return new TwistyRex           (objects[23].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
297
      case 24: return new TwistyBandagedFused (objects[24].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
298
      case 25: return new TwistyBandaged2Bar  (objects[25].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
299
      case 26: return new TwistyBandaged3Plate(objects[26].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
300
      case 27: return new TwistyBandagedEvil  (objects[27].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
301
      case 28: return new TwistySquare1       (objects[28].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
302
      case 29: return new TwistySquare2       (objects[29].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
303
      case 30: return new TwistyMirror        (objects[30].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
304
      case 31: return new TwistyMirror        (objects[31].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
305
      }
306

  
307
    return null;
308
    }
309
  }
src/main/java/org/distorted/objectlib/main/ObjectType.java
1
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2020 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Magic Cube.                                                              //
5
//                                                                                               //
6
// Magic Cube is free software: you can redistribute it and/or modify                            //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Magic Cube is distributed in the hope that it will be useful,                                 //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19

  
20
package org.distorted.objectlib.main;
21

  
22
import android.content.res.Resources;
23

  
24
import org.distorted.library.main.DistortedEffects;
25
import org.distorted.library.main.DistortedTexture;
26
import org.distorted.library.mesh.MeshSquare;
27
import org.distorted.library.type.Static4D;
28
import org.distorted.objectlib.R;
29
import org.distorted.objectlib.objects.TwistyBandaged2Bar;
30
import org.distorted.objectlib.objects.TwistyBandaged3Plate;
31
import org.distorted.objectlib.objects.TwistyBandagedEvil;
32
import org.distorted.objectlib.objects.TwistyBandagedFused;
33
import org.distorted.objectlib.objects.TwistyCube;
34
import org.distorted.objectlib.objects.TwistyDiamond;
35
import org.distorted.objectlib.objects.TwistyDino4;
36
import org.distorted.objectlib.objects.TwistyDino6;
37
import org.distorted.objectlib.objects.TwistyHelicopter;
38
import org.distorted.objectlib.objects.TwistyIvy;
39
import org.distorted.objectlib.objects.TwistyJing;
40
import org.distorted.objectlib.objects.TwistyKilominx;
41
import org.distorted.objectlib.objects.TwistyMegaminx;
42
import org.distorted.objectlib.objects.TwistyMirror;
43
import org.distorted.objectlib.objects.TwistyPyraminx;
44
import org.distorted.objectlib.objects.TwistyRedi;
45
import org.distorted.objectlib.objects.TwistyRex;
46
import org.distorted.objectlib.objects.TwistySkewb;
47
import org.distorted.objectlib.objects.TwistySquare1;
48
import org.distorted.objectlib.objects.TwistySquare2;
49
import org.distorted.objectlib.objects.TwistyUltimate;
50

  
51
///////////////////////////////////////////////////////////////////////////////////////////////////
52

  
53
public enum ObjectType
54
  {
55
  CUBE_2 ( 0, 2, 12, 12, R.drawable.small_cube2, R.drawable.medium_cube2, R.drawable.big_cube2, R.drawable.huge_cube2),
56
  CUBE_3 ( 0, 3, 16, 17, R.drawable.small_cube3, R.drawable.medium_cube3, R.drawable.big_cube3, R.drawable.huge_cube3),
57
  CUBE_4 ( 0, 4, 20, 24, R.drawable.small_cube4, R.drawable.medium_cube4, R.drawable.big_cube4, R.drawable.huge_cube4),
58
  CUBE_5 ( 0, 5, 24, 28, R.drawable.small_cube5, R.drawable.medium_cube5, R.drawable.big_cube5, R.drawable.huge_cube5),
59
  JING_2 ( 1, 2, 11, 11, R.drawable.small_jing2, R.drawable.medium_jing2, R.drawable.big_jing2, R.drawable.huge_jing2),
60
  PYRA_3 ( 1, 3, 10, 10, R.drawable.small_pyra3, R.drawable.medium_pyra3, R.drawable.big_pyra3, R.drawable.huge_pyra3),
61
  PYRA_4 ( 1, 4, 14, 17, R.drawable.small_pyra4, R.drawable.medium_pyra4, R.drawable.big_pyra4, R.drawable.huge_pyra4),
62
  PYRA_5 ( 1, 5, 20, 23, R.drawable.small_pyra5, R.drawable.medium_pyra5, R.drawable.big_pyra5, R.drawable.huge_pyra5),
63
  KILO_3 ( 2, 3, 18, 18, R.drawable.small_kilo3, R.drawable.medium_kilo3, R.drawable.big_kilo3, R.drawable.huge_kilo3),
64
  KILO_5 ( 2, 5, 33, 33, R.drawable.small_kilo5, R.drawable.medium_kilo5, R.drawable.big_kilo5, R.drawable.huge_kilo5),
65
  MEGA_3 ( 2, 3, 21, 21, R.drawable.small_mega3, R.drawable.medium_mega3, R.drawable.big_mega3, R.drawable.huge_mega3),
66
  MEGA_5 ( 2, 5, 35, 37, R.drawable.small_mega5, R.drawable.medium_mega5, R.drawable.big_mega5, R.drawable.huge_mega5),
67
  ULTI_2 ( 3, 2, 18, 18, R.drawable.small_ulti , R.drawable.medium_ulti , R.drawable.big_ulti , R.drawable.huge_ulti ),
68
  DIAM_2 ( 3, 2, 10, 12, R.drawable.small_diam2, R.drawable.medium_diam2, R.drawable.big_diam2, R.drawable.huge_diam2),
69
  DIAM_3 ( 3, 3, 18, 24, R.drawable.small_diam3, R.drawable.medium_diam3, R.drawable.big_diam3, R.drawable.huge_diam3),
70
  DIAM_4 ( 3, 4, 32, 32, R.drawable.small_diam4, R.drawable.medium_diam4, R.drawable.big_diam4, R.drawable.huge_diam4),
71
  DINO_3 ( 4, 3, 10, 10, R.drawable.small_dino , R.drawable.medium_dino , R.drawable.big_dino , R.drawable.huge_dino ),
72
  DIN4_3 ( 4, 3,  7,  7, R.drawable.small_din4 , R.drawable.medium_din4 , R.drawable.big_din4 , R.drawable.huge_din4 ),
73
  REDI_3 ( 4, 3, 14, 16, R.drawable.small_redi , R.drawable.medium_redi , R.drawable.big_redi , R.drawable.huge_redi ),
74
  HELI_3 ( 4, 3, 18, 20, R.drawable.small_heli , R.drawable.medium_heli , R.drawable.big_heli , R.drawable.huge_heli ),
75
  SKEW_2 ( 5, 2, 11, 11, R.drawable.small_skew2, R.drawable.medium_skew2, R.drawable.big_skew2, R.drawable.huge_skew2),
76
  SKEW_3 ( 5, 3, 17, 21, R.drawable.small_skew3, R.drawable.medium_skew3, R.drawable.big_skew3, R.drawable.huge_skew3),
77
  IVY_2  ( 5, 2,  8,  8, R.drawable.small_ivy  , R.drawable.medium_ivy  , R.drawable.big_ivy  , R.drawable.huge_ivy  ),
78
  REX_3  ( 5, 3, 16, 19, R.drawable.small_rex  , R.drawable.medium_rex  , R.drawable.big_rex  , R.drawable.huge_rex  ),
79
  BAN1_3 ( 6, 3, 16, 16, R.drawable.small_ban1 , R.drawable.medium_ban1 , R.drawable.big_ban1 , R.drawable.huge_ban1 ),
80
  BAN2_3 ( 6, 3, 16, 16, R.drawable.small_ban2 , R.drawable.medium_ban2 , R.drawable.big_ban2 , R.drawable.huge_ban2 ),
81
  BAN3_3 ( 6, 3, 16, 16, R.drawable.small_ban3 , R.drawable.medium_ban3 , R.drawable.big_ban3 , R.drawable.huge_ban3 ),
82
  BAN4_3 ( 6, 3, 16, 16, R.drawable.small_ban4 , R.drawable.medium_ban4 , R.drawable.big_ban4 , R.drawable.huge_ban4 ),
83
  SQU1_3 ( 7, 3, 24, 24, R.drawable.small_squa1, R.drawable.medium_squa1, R.drawable.big_squa1, R.drawable.huge_squa1),
84
  SQU2_3 ( 7, 3, 24, 24, R.drawable.small_squa2, R.drawable.medium_squa2, R.drawable.big_squa2, R.drawable.huge_squa2),
85
  MIRR_2 ( 7, 2, 12, 12, R.drawable.small_mirr2, R.drawable.medium_mirr2, R.drawable.big_mirr2, R.drawable.huge_mirr2),
86
  MIRR_3 ( 7, 3, 16, 17, R.drawable.small_mirr3, R.drawable.medium_mirr3, R.drawable.big_mirr3, R.drawable.huge_mirr3),
87
  ;
88

  
89
  public static final int NUM_OBJECTS = values().length;
90
  public static final int MAX_LEVEL;
91
  public static final int MAX_SCRAMBLE;
92
  public static final int MAX_OBJECT_SIZE;
93

  
94
  private final int mRow, mSize, mDBLevels, mNumScrambles;
95
  private final int mSmallIconID, mMediumIconID, mBigIconID, mHugeIconID;
96

  
97
  private static final ObjectType[] objects;
98
  private static int[] mIndices;
99
  private static int mColCount, mRowCount;
100

  
101
  static
102
    {
103
    int i = 0;
104
    objects = new ObjectType[NUM_OBJECTS];
105
    int maxLevel   = Integer.MIN_VALUE;
106
    int maxScramble= Integer.MIN_VALUE;
107
    int maxSize    = Integer.MIN_VALUE;
108

  
109
    for(ObjectType object: ObjectType.values())
110
      {
111
      objects[i++] = object;
112

  
113
      if( object.mNumScrambles> maxScramble ) maxScramble= object.mNumScrambles;
114
      if( object.mDBLevels    > maxLevel    ) maxLevel   = object.mDBLevels;
115
      if( object.mSize        > maxSize     ) maxSize    = object.mSize;
116
      }
117

  
118
    MAX_LEVEL       = maxLevel;
119
    MAX_SCRAMBLE    = maxScramble;
120
    MAX_OBJECT_SIZE = maxSize;
121
    }
122

  
123
///////////////////////////////////////////////////////////////////////////////////////////////////
124

  
125
  private static void setUpColAndRow()
126
    {
127
    mIndices = new int[NUM_OBJECTS];
128
    mRowCount= 0;
129

  
130
    for(int obj=0; obj<NUM_OBJECTS; obj++)
131
      {
132
      mIndices[obj] = objects[obj].mRow;
133
      if( mIndices[obj]>=mRowCount ) mRowCount = mIndices[obj]+1;
134
      }
135

  
136
    mColCount = 0;
137

  
138
    for(int row=0; row<mRowCount; row++)
139
      {
140
      int numObjects = computeNumObjectsInRow(row);
141
      if( numObjects>mColCount ) mColCount = numObjects;
142
      }
143
    }
144

  
145
///////////////////////////////////////////////////////////////////////////////////////////////////
146

  
147
  private static int computeNumObjectsInRow(int row)
148
    {
149
    int num=0;
150

  
151
    for(int object=0; object<NUM_OBJECTS; object++)
152
      {
153
      if( objects[object].mRow == row ) num++;
154
      }
155

  
156
    return num;
157
    }
158

  
159
///////////////////////////////////////////////////////////////////////////////////////////////////
160

  
161
  public static int getColumnCount()
162
    {
163
    if( mIndices==null ) setUpColAndRow();
164

  
165
    return mColCount;
166
    }
167

  
168
///////////////////////////////////////////////////////////////////////////////////////////////////
169

  
170
  public static int getRowCount()
171
    {
172
    if( mIndices==null ) setUpColAndRow();
173

  
174
    return mRowCount;
175
    }
176

  
177
///////////////////////////////////////////////////////////////////////////////////////////////////
178

  
179
  public static int[] getIndices()
180
    {
181
    if( mIndices==null ) setUpColAndRow();
182

  
183
    return mIndices;
184
    }
185

  
186
///////////////////////////////////////////////////////////////////////////////////////////////////
187

  
188
  public static ObjectType getObject(int ordinal)
189
    {
190
    return ordinal>=0 && ordinal<NUM_OBJECTS ? objects[ordinal] : CUBE_3;
191
    }
192

  
193
///////////////////////////////////////////////////////////////////////////////////////////////////
194

  
195
  public static int getOrdinal(String name)
196
    {
197
    for(int i=0; i<NUM_OBJECTS; i++)
198
      {
199
      if( objects[i].name().equals(name) ) return i;
200
      }
201

  
202
    return -1;
203
    }
204

  
205
///////////////////////////////////////////////////////////////////////////////////////////////////
206

  
207
  public static String getObjectList()
208
    {
209
    StringBuilder list = new StringBuilder();
210

  
211
    for(int i=0; i<NUM_OBJECTS; i++)
212
      {
213
      if( i>0 ) list.append(',');
214
      list.append(objects[i].name());
215
      }
216

  
217
    return list.toString();
218
    }
219

  
220
///////////////////////////////////////////////////////////////////////////////////////////////////
221

  
222
  public static int getDBLevel(int ordinal)
223
    {
224
    return ordinal>=0 && ordinal<NUM_OBJECTS ? objects[ordinal].mDBLevels : 0;
225
    }
226

  
227
///////////////////////////////////////////////////////////////////////////////////////////////////
228

  
229
  public static int getNumScramble(int ordinal)
230
    {
231
    return ordinal>=0 && ordinal<NUM_OBJECTS ? objects[ordinal].mNumScrambles : 0;
232
    }
233

  
234
///////////////////////////////////////////////////////////////////////////////////////////////////
235

  
236
  ObjectType(int row, int size, int db, int scrambles, int smallIcon, int mediumIcon, int bigIcon, int hugeIcon)
237
    {
238
    mRow         = row;
239
    mSize        = size;
240
    mDBLevels    = db;
241
    mNumScrambles= scrambles;
242
    mSmallIconID = smallIcon;
243
    mMediumIconID= mediumIcon;
244
    mBigIconID   = bigIcon;
245
    mHugeIconID  = hugeIcon;
246
    }
247

  
248
///////////////////////////////////////////////////////////////////////////////////////////////////
249

  
250
  public int getIconID(int size)
251
    {
252
    switch(size)
253
      {
254
      case 0: return mSmallIconID;
255
      case 1: return mMediumIconID;
256
      case 2: return mBigIconID;
257
      case 3: return mHugeIconID;
258
      }
259

  
260
    return mSmallIconID;
261
    }
262

  
263
///////////////////////////////////////////////////////////////////////////////////////////////////
264

  
265
  public TwistyObject create(Static4D quat, int[][] moves, Resources res, int scrWidth)
266
    {
267
    DistortedTexture texture = new DistortedTexture();
268
    DistortedEffects effects = new DistortedEffects();
269
    MeshSquare mesh          = new MeshSquare(20,20);   // mesh of the node, not of the cubits
270

  
271
    switch(ordinal())
272
      {
273
      case  0: return new TwistyCube          (objects[ 0].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
274
      case  1: return new TwistyCube          (objects[ 1].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
275
      case  2: return new TwistyCube          (objects[ 2].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
276
      case  3: return new TwistyCube          (objects[ 3].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
277
      case  4: return new TwistyJing          (objects[ 4].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
278
      case  5: return new TwistyPyraminx      (objects[ 5].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
279
      case  6: return new TwistyPyraminx      (objects[ 6].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
280
      case  7: return new TwistyPyraminx      (objects[ 7].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
281
      case  8: return new TwistyKilominx      (objects[ 8].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
282
      case  9: return new TwistyKilominx      (objects[ 9].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
283
      case 10: return new TwistyMegaminx      (objects[10].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
284
      case 11: return new TwistyMegaminx      (objects[11].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
285
      case 12: return new TwistyUltimate      (objects[12].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
286
      case 13: return new TwistyDiamond       (objects[13].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
287
      case 14: return new TwistyDiamond       (objects[14].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
288
      case 15: return new TwistyDiamond       (objects[15].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
289
      case 16: return new TwistyDino6         (objects[16].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
290
      case 17: return new TwistyDino4         (objects[17].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
291
      case 18: return new TwistyRedi          (objects[18].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
292
      case 19: return new TwistyHelicopter    (objects[19].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
293
      case 20: return new TwistySkewb         (objects[20].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
294
      case 21: return new TwistySkewb         (objects[21].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
295
      case 22: return new TwistyIvy           (objects[22].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
296
      case 23: return new TwistyRex           (objects[23].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
297
      case 24: return new TwistyBandagedFused (objects[24].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
298
      case 25: return new TwistyBandaged2Bar  (objects[25].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
299
      case 26: return new TwistyBandaged3Plate(objects[26].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
300
      case 27: return new TwistyBandagedEvil  (objects[27].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
301
      case 28: return new TwistySquare1       (objects[28].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
302
      case 29: return new TwistySquare2       (objects[29].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
303
      case 30: return new TwistyMirror        (objects[30].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
304
      case 31: return new TwistyMirror        (objects[31].mSize, quat, texture, mesh, effects, moves, res, scrWidth);
305
      }
306

  
307
    return null;
308
    }
309
  }
src/main/java/org/distorted/objectlib/main/TwistyObject.java
1111 1111
    mRotationAngleStatic.set0(0.0f);
1112 1112
    mRotationAxis.set( mAxis[axis] );
1113 1113
    mRotationAngle.add(mRotationAngleStatic);
1114
    mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis* ObjectList.MAX_OBJECT_SIZE) , -1);
1114
    mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis* ObjectType.MAX_OBJECT_SIZE) , -1);
1115 1115
    }
1116 1116

  
1117 1117
///////////////////////////////////////////////////////////////////////////////////////////////////
......
1129 1129
      mRotationAngle.resetToBeginning();
1130 1130
      mRotationAngle.add(new Static1D(0));
1131 1131
      mRotationAngle.add(new Static1D(angle));
1132
      mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis*ObjectList.MAX_OBJECT_SIZE) , -1);
1132
      mRotateEffect.setMeshAssociation( mRotRowBitmap<<(axis* ObjectType.MAX_OBJECT_SIZE) , -1);
1133 1133
      mRotateEffect.notifyWhenFinished(listener);
1134 1134

  
1135 1135
      return mRotateEffect.getID();
......
1270 1270

  
1271 1271
///////////////////////////////////////////////////////////////////////////////////////////////////
1272 1272

  
1273
  public ObjectList getObjectList()
1273
  public ObjectType getObjectList()
1274 1274
    {
1275 1275
    return intGetObjectList(mNumLayers);
1276 1276
    }
......
1304 1304
  protected abstract ObjectSticker retSticker(int face);
1305 1305
  protected abstract int getFaceColor(int cubit, int cubitface, int numLayers);
1306 1306
  protected abstract int getResource(int mNumLayers);
1307
  protected abstract ObjectList intGetObjectList(int numLayers);
1307
  protected abstract ObjectType intGetObjectList(int numLayers);
1308 1308

  
1309 1309
  public abstract Movement getMovement();
1310 1310
  public abstract Static3D[] getRotationAxis();
src/main/java/org/distorted/objectlib/objects/TwistyBandaged2Bar.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ScrambleState;
32 32

  
33 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
115 115
///////////////////////////////////////////////////////////////////////////////////////////////////
116 116
// PUBLIC API
117 117

  
118
  public ObjectList intGetObjectList(int numLayers)
118
  public ObjectType intGetObjectList(int numLayers)
119 119
    {
120
    return ObjectList.BAN2_3;
120
    return ObjectType.BAN2_3;
121 121
    }
122 122

  
123 123
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyBandaged3Plate.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ScrambleState;
32 32

  
33 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
122 122
///////////////////////////////////////////////////////////////////////////////////////////////////
123 123
// PUBLIC API
124 124

  
125
  public ObjectList intGetObjectList(int numLayers)
125
  public ObjectType intGetObjectList(int numLayers)
126 126
    {
127
    return ObjectList.BAN3_3;
127
    return ObjectType.BAN3_3;
128 128
    }
129 129

  
130 130
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyBandagedEvil.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ScrambleState;
32 32

  
33 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
246 246
///////////////////////////////////////////////////////////////////////////////////////////////////
247 247
// PUBLIC API
248 248

  
249
  public ObjectList intGetObjectList(int numLayers)
249
  public ObjectType intGetObjectList(int numLayers)
250 250
    {
251
    return ObjectList.BAN4_3;
251
    return ObjectType.BAN4_3;
252 252
    }
253 253

  
254 254
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyBandagedFused.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ScrambleState;
32 32

  
33 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
115 115
///////////////////////////////////////////////////////////////////////////////////////////////////
116 116
// PUBLIC APi
117 117

  
118
  public ObjectList intGetObjectList(int numLayers)
118
  public ObjectType intGetObjectList(int numLayers)
119 119
    {
120
    return ObjectList.BAN1_3;
120
    return ObjectType.BAN1_3;
121 121
    }
122 122

  
123 123
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyCube.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
396 396

  
397 397
///////////////////////////////////////////////////////////////////////////////////////////////////
398 398

  
399
  public ObjectList intGetObjectList(int numLayers)
399
  public ObjectType intGetObjectList(int numLayers)
400 400
    {
401 401
    switch(numLayers)
402 402
      {
403
      case 2: return ObjectList.CUBE_2;
404
      case 3: return ObjectList.CUBE_3;
405
      case 4: return ObjectList.CUBE_4;
406
      case 5: return ObjectList.CUBE_5;
403
      case 2: return ObjectType.CUBE_2;
404
      case 3: return ObjectType.CUBE_3;
405
      case 4: return ObjectType.CUBE_4;
406
      case 5: return ObjectType.CUBE_5;
407 407
      }
408 408

  
409
    return ObjectList.CUBE_3;
409
    return ObjectType.CUBE_3;
410 410
    }
411 411

  
412 412
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyDiamond.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement8;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
538 538

  
539 539
///////////////////////////////////////////////////////////////////////////////////////////////////
540 540

  
541
  public ObjectList intGetObjectList(int numLayers)
541
  public ObjectType intGetObjectList(int numLayers)
542 542
    {
543 543
    switch(numLayers)
544 544
      {
545
      case 2: return ObjectList.DIAM_2;
546
      case 3: return ObjectList.DIAM_3;
547
      case 4: return ObjectList.DIAM_4;
545
      case 2: return ObjectType.DIAM_2;
546
      case 3: return ObjectType.DIAM_3;
547
      case 4: return ObjectType.DIAM_4;
548 548
      }
549 549

  
550
    return ObjectList.DIAM_2;
550
    return ObjectType.DIAM_2;
551 551
    }
552 552

  
553 553
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyDino.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
36 35
import org.distorted.objectlib.main.ObjectShape;
37 36
import org.distorted.objectlib.main.ObjectSticker;
38 37
import org.distorted.objectlib.main.ScrambleState;
src/main/java/org/distorted/objectlib/objects/TwistyDino4.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ScrambleState;
32 32

  
33 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
98 98

  
99 99
///////////////////////////////////////////////////////////////////////////////////////////////////
100 100

  
101
  public ObjectList intGetObjectList(int numLayers)
101
  public ObjectType intGetObjectList(int numLayers)
102 102
    {
103
    return ObjectList.DIN4_3;
103
    return ObjectType.DIN4_3;
104 104
    }
105 105

  
106 106
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyDino6.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ScrambleState;
32 32

  
33 33
///////////////////////////////////////////////////////////////////////////////////////////////////
......
100 100

  
101 101
///////////////////////////////////////////////////////////////////////////////////////////////////
102 102

  
103
  public ObjectList intGetObjectList(int numLayers)
103
  public ObjectType intGetObjectList(int numLayers)
104 104
    {
105
    return ObjectList.DINO_3;
105
    return ObjectType.DINO_3;
106 106
    }
107 107

  
108 108
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyHelicopter.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
458 458

  
459 459
///////////////////////////////////////////////////////////////////////////////////////////////////
460 460

  
461
  public ObjectList intGetObjectList(int numLayers)
461
  public ObjectType intGetObjectList(int numLayers)
462 462
    {
463
    return ObjectList.HELI_3;
463
    return ObjectType.HELI_3;
464 464
    }
465 465

  
466 466
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyIvy.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
485 485

  
486 486
///////////////////////////////////////////////////////////////////////////////////////////////////
487 487

  
488
  public ObjectList intGetObjectList(int numLayers)
488
  public ObjectType intGetObjectList(int numLayers)
489 489
    {
490
    return ObjectList.IVY_2;
490
    return ObjectType.IVY_2;
491 491
    }
492 492

  
493 493
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyJing.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement4;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
444 444

  
445 445
///////////////////////////////////////////////////////////////////////////////////////////////////
446 446

  
447
  public ObjectList intGetObjectList(int numLayers)
447
  public ObjectType intGetObjectList(int numLayers)
448 448
    {
449
    return ObjectList.JING_2;
449
    return ObjectType.JING_2;
450 450
    }
451 451

  
452 452
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyKilominx.java
31 31
import org.distorted.library.main.QuatHelper;
32 32

  
33 33
import org.distorted.objectlib.R;
34
import org.distorted.objectlib.main.ObjectList;
34
import org.distorted.objectlib.main.ObjectType;
35 35
import org.distorted.objectlib.main.ObjectShape;
36 36
import org.distorted.objectlib.main.ObjectSticker;
37 37

  
......
696 696

  
697 697
///////////////////////////////////////////////////////////////////////////////////////////////////
698 698

  
699
  public ObjectList intGetObjectList(int numLayers)
699
  public ObjectType intGetObjectList(int numLayers)
700 700
    {
701 701
    switch(numLayers)
702 702
      {
703
      case 3: return ObjectList.KILO_3;
704
      case 5: return ObjectList.KILO_5;
703
      case 3: return ObjectType.KILO_3;
704
      case 5: return ObjectType.KILO_5;
705 705
      }
706 706

  
707
    return ObjectList.KILO_3;
707
    return ObjectType.KILO_3;
708 708
    }
709 709

  
710 710
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyMegaminx.java
31 31
import org.distorted.library.main.QuatHelper;
32 32

  
33 33
import org.distorted.objectlib.R;
34
import org.distorted.objectlib.main.ObjectList;
34
import org.distorted.objectlib.main.ObjectType;
35 35
import org.distorted.objectlib.main.ObjectShape;
36 36
import org.distorted.objectlib.main.ObjectSticker;
37 37

  
......
603 603

  
604 604
///////////////////////////////////////////////////////////////////////////////////////////////////
605 605

  
606
  public ObjectList intGetObjectList(int numLayers)
606
  public ObjectType intGetObjectList(int numLayers)
607 607
    {
608 608
    switch(numLayers)
609 609
      {
610
      case 3: return ObjectList.MEGA_3;
611
      case 5: return ObjectList.MEGA_5;
610
      case 3: return ObjectType.MEGA_3;
611
      case 5: return ObjectType.MEGA_5;
612 612
      }
613 613

  
614
    return ObjectList.MEGA_3;
614
    return ObjectType.MEGA_3;
615 615
    }
616 616

  
617 617
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyMinx.java
33 33
import org.distorted.library.type.Static4D;
34 34
import org.distorted.objectlib.main.Movement;
35 35
import org.distorted.objectlib.main.Movement12;
36
import org.distorted.objectlib.main.ObjectList;
37 36
import org.distorted.objectlib.main.ObjectSticker;
38 37
import org.distorted.objectlib.main.ScrambleState;
39 38
import org.distorted.objectlib.main.Twisty12;
src/main/java/org/distorted/objectlib/objects/TwistyMirror.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
631 631

  
632 632
///////////////////////////////////////////////////////////////////////////////////////////////////
633 633

  
634
  public ObjectList intGetObjectList(int numLayers)
634
  public ObjectType intGetObjectList(int numLayers)
635 635
    {
636 636
    switch(numLayers)
637 637
      {
638
      case 2: return ObjectList.MIRR_2;
639
      case 3: return ObjectList.MIRR_3;
638
      case 2: return ObjectType.MIRR_2;
639
      case 3: return ObjectType.MIRR_3;
640 640
      }
641 641

  
642
    return ObjectList.MIRR_2;
642
    return ObjectType.MIRR_2;
643 643
    }
644 644

  
645 645
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyPyraminx.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement4;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
422 422

  
423 423
///////////////////////////////////////////////////////////////////////////////////////////////////
424 424

  
425
  public ObjectList intGetObjectList(int numLayers)
425
  public ObjectType intGetObjectList(int numLayers)
426 426
    {
427 427
    switch(numLayers)
428 428
      {
429
      case 3: return ObjectList.PYRA_3;
430
      case 4: return ObjectList.PYRA_4;
431
      case 5: return ObjectList.PYRA_5;
429
      case 3: return ObjectType.PYRA_3;
430
      case 4: return ObjectType.PYRA_4;
431
      case 5: return ObjectType.PYRA_5;
432 432
      }
433 433

  
434
    return ObjectList.PYRA_3;
434
    return ObjectType.PYRA_3;
435 435
    }
436 436

  
437 437
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyRedi.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
455 455

  
456 456
///////////////////////////////////////////////////////////////////////////////////////////////////
457 457

  
458
  public ObjectList intGetObjectList(int numLayers)
458
  public ObjectType intGetObjectList(int numLayers)
459 459
    {
460
    return ObjectList.REDI_3;
460
    return ObjectType.REDI_3;
461 461
    }
462 462

  
463 463
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyRex.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
488 488

  
489 489
///////////////////////////////////////////////////////////////////////////////////////////////////
490 490

  
491
  public ObjectList intGetObjectList(int numLayers)
491
  public ObjectType intGetObjectList(int numLayers)
492 492
    {
493
    return ObjectList.REX_3;
493
    return ObjectType.REX_3;
494 494
    }
495 495

  
496 496
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistySkewb.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement6;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
597 597

  
598 598
///////////////////////////////////////////////////////////////////////////////////////////////////
599 599

  
600
  public ObjectList intGetObjectList(int numLayers)
600
  public ObjectType intGetObjectList(int numLayers)
601 601
    {
602 602
    switch(numLayers)
603 603
      {
604
      case 2: return ObjectList.SKEW_2;
605
      case 3: return ObjectList.SKEW_3;
604
      case 2: return ObjectType.SKEW_2;
605
      case 3: return ObjectType.SKEW_3;
606 606
      }
607 607

  
608
    return ObjectList.SKEW_2;
608
    return ObjectType.SKEW_2;
609 609
    }
610 610

  
611 611
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistySquare.java
30 30
import org.distorted.library.type.Static4D;
31 31
import org.distorted.objectlib.main.Movement;
32 32
import org.distorted.objectlib.main.Movement6;
33
import org.distorted.objectlib.main.ObjectList;
34 33
import org.distorted.objectlib.main.Twisty6;
35 34

  
36 35
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistySquare1.java
28 28

  
29 29
import org.distorted.objectlib.R;
30 30
import org.distorted.objectlib.main.Movement6;
31
import org.distorted.objectlib.main.ObjectList;
31
import org.distorted.objectlib.main.ObjectType;
32 32
import org.distorted.objectlib.main.ObjectShape;
33 33
import org.distorted.objectlib.main.ObjectSticker;
34 34
import org.distorted.objectlib.main.ScrambleState;
......
350 350
///////////////////////////////////////////////////////////////////////////////////////////////////
351 351
// PUBLIC API
352 352

  
353
  public ObjectList intGetObjectList(int numLayers)
353
  public ObjectType intGetObjectList(int numLayers)
354 354
    {
355
    return ObjectList.SQU1_3;
355
    return ObjectType.SQU1_3;
356 356
    }
357 357

  
358 358
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistySquare2.java
27 27
import org.distorted.library.type.Static4D;
28 28

  
29 29
import org.distorted.objectlib.R;
30
import org.distorted.objectlib.main.ObjectList;
30
import org.distorted.objectlib.main.ObjectType;
31 31
import org.distorted.objectlib.main.ObjectShape;
32 32
import org.distorted.objectlib.main.ObjectSticker;
33 33
import org.distorted.objectlib.main.ScrambleState;
......
383 383
///////////////////////////////////////////////////////////////////////////////////////////////////
384 384
// PUBLIC API
385 385

  
386
  public ObjectList intGetObjectList(int numLayers)
386
  public ObjectType intGetObjectList(int numLayers)
387 387
    {
388
    return ObjectList.SQU2_3;
388
    return ObjectType.SQU2_3;
389 389
    }
390 390

  
391 391
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/objectlib/objects/TwistyUltimate.java
32 32
import org.distorted.objectlib.R;
33 33
import org.distorted.objectlib.main.Movement;
34 34
import org.distorted.objectlib.main.Movement12;
35
import org.distorted.objectlib.main.ObjectList;
35
import org.distorted.objectlib.main.ObjectType;
36 36
import org.distorted.objectlib.main.ObjectShape;
37 37
import org.distorted.objectlib.main.ObjectSticker;
38 38
import org.distorted.objectlib.main.ScrambleState;
......
443 443

  
444 444
///////////////////////////////////////////////////////////////////////////////////////////////////
445 445

  
446
  public ObjectList intGetObjectList(int numLayers)
446
  public ObjectType intGetObjectList(int numLayers)
447 447
    {
448
    return ObjectList.ULTI_2;
448
    return ObjectType.ULTI_2;
449 449
    }
450 450

  
451 451
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff