«
Previous
|
Next
»
Revision 47f42042
Added by Leszek Koltunski about 13 hours ago
- ID 47f420429a337453aa3a85dd44144ee5889dc790
- Parent b84f8cd9
build.gradle | ||
---|---|---|
35 | 35 |
buildConfig = true |
36 | 36 |
} |
37 | 37 |
namespace 'org.distorted.main' |
38 |
compileOptions { |
|
39 |
sourceCompatibility JavaVersion.VERSION_11 |
|
40 |
targetCompatibility JavaVersion.VERSION_11 |
|
41 |
} |
|
38 | 42 |
} |
39 | 43 |
|
40 | 44 |
buildscript { |
src/main/java/org/distorted/dialogs/DialogSolvers.java | ||
---|---|---|
86 | 86 |
|
87 | 87 |
SolverActivity sact = (SolverActivity) getContext(); |
88 | 88 |
int objectOrdinal = ListObjects.getObjectOrdinal(mArgument); |
89 |
int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(objectOrdinal); |
|
89 |
ListObjects list = ListObjects.getObject(objectOrdinal); |
|
90 |
int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(list); |
|
90 | 91 |
int len = solverOrdinals==null ? 0 : solverOrdinals.length; |
91 | 92 |
|
92 | 93 |
for(int o=0; o<len; o++ ) |
src/main/java/org/distorted/objects/RubikObject.java | ||
---|---|---|
81 | 81 |
int patternOrdinal = RubikPatternList.getOrdinal(mObjectIndex); |
82 | 82 |
mPatterns = RubikPatternList.getPatterns(patternOrdinal); |
83 | 83 |
|
84 |
int[] solverOrdinals= ImplementedVerifierList.getSolverOrdinals(mObjectOrdinal); |
|
84 |
ListObjects list = ListObjects.getObject(mObjectOrdinal); |
|
85 |
int[] solverOrdinals= ImplementedVerifierList.getSolverOrdinals(list); |
|
85 | 86 |
mNumSolvers = solverOrdinals==null ? 0 : solverOrdinals.length; |
86 | 87 |
mExtrasOrdinal = -1; |
87 | 88 |
|
src/main/java/org/distorted/solvers/ScreenSetupPosition.java | ||
---|---|---|
65 | 65 |
private int mNumBitmapRows; |
66 | 66 |
private float mBitmapSize; |
67 | 67 |
private WeakReference<SolverActivity> mWeakAct; |
68 |
private int mObjectOrdinal;
|
|
68 |
private ListObjects mObject;
|
|
69 | 69 |
private String[] mPhaseNames; |
70 | 70 |
private Timer mTimer; |
71 | 71 |
private SolverAbstract mSolver; |
... | ... | |
92 | 92 |
mSolving = false; |
93 | 93 |
mPhaseNames = null; |
94 | 94 |
|
95 |
mObjectOrdinal = act.getObjectOrdinal();
|
|
95 |
mObject = act.getObjectList();
|
|
96 | 96 |
control.solveOnly(); |
97 |
generateFaceColors(mObjectOrdinal);
|
|
97 |
generateFaceColors(mObject); |
|
98 | 98 |
|
99 | 99 |
mNumBitmapRows = mNumColors>8 ? 2 : 1; |
100 | 100 |
mBitmapSize = computeBitmapSize(width,heigh); |
... | ... | |
181 | 181 |
// This doesn't quite work in many cases, but in case of the solvers that will pop up in foreseeable |
182 | 182 |
// future it should be ok. |
183 | 183 |
|
184 |
public void generateFaceColors(int object)
|
|
184 |
public void generateFaceColors(ListObjects object)
|
|
185 | 185 |
{ |
186 | 186 |
mColorMode = MODE_NORMAL; |
187 | 187 |
|
188 |
if( object==PYRA_3.ordinal() ||
|
|
189 |
object==PYRA_4.ordinal() ||
|
|
190 |
object==PYRA_5.ordinal() ||
|
|
191 |
object==PDUO_2.ordinal() ||
|
|
192 |
object==JING_2.ordinal() ||
|
|
193 |
object==MORP_2.ordinal() ||
|
|
194 |
object==MORP_3.ordinal() ||
|
|
195 |
object==MORP_4.ordinal() )
|
|
188 |
if( object==PYRA_3 || |
|
189 |
object==PYRA_4 || |
|
190 |
object==PYRA_5 || |
|
191 |
object==PDUO_2 || |
|
192 |
object==JING_2 || |
|
193 |
object==MORP_2 || |
|
194 |
object==MORP_3 || |
|
195 |
object==MORP_4 ) |
|
196 | 196 |
{ |
197 | 197 |
mNumColors = ShapeTetrahedron.NUM_FACES; |
198 | 198 |
mFaceColors = ShapeTetrahedron.FACE_COLORS; |
199 | 199 |
} |
200 |
else if( object==DIAM_2.ordinal() ||
|
|
201 |
object==DIAM_3.ordinal() ||
|
|
202 |
object==DIAM_4.ordinal() ||
|
|
203 |
object==TRAJ_3.ordinal() ||
|
|
204 |
object==TRAJ_4.ordinal() ||
|
|
205 |
object==PDIA_3.ordinal() )
|
|
200 |
else if( object==DIAM_2 || |
|
201 |
object==DIAM_3 || |
|
202 |
object==DIAM_4 || |
|
203 |
object==TRAJ_3 || |
|
204 |
object==TRAJ_4 || |
|
205 |
object==PDIA_3 ) |
|
206 | 206 |
{ |
207 | 207 |
mNumColors = ShapeOctahedron.NUM_FACES; |
208 | 208 |
mFaceColors = ShapeOctahedron.FACE_COLORS; |
209 | 209 |
} |
210 |
else if( object==CRYS_3.ordinal() ||
|
|
211 |
object==STAR_3.ordinal() ||
|
|
212 |
object==PENT_2.ordinal() ||
|
|
213 |
object==KILO_3.ordinal() ||
|
|
214 |
object==KILO_5.ordinal() ||
|
|
215 |
object==MEGA_3.ordinal() ||
|
|
216 |
object==MEGA_5.ordinal() )
|
|
210 |
else if( object==CRYS_3 || |
|
211 |
object==STAR_3 || |
|
212 |
object==PENT_2 || |
|
213 |
object==KILO_3 || |
|
214 |
object==KILO_5 || |
|
215 |
object==MEGA_3 || |
|
216 |
object==MEGA_5 ) |
|
217 | 217 |
{ |
218 | 218 |
mNumColors = ShapeDodecahedron.NUM_FACES; |
219 | 219 |
mFaceColors = ShapeDodecahedron.FACE_COLORS; |
220 | 220 |
} |
221 |
else if( object==BALL_4.ordinal() )
|
|
221 |
else if( object==BALL_4 ) |
|
222 | 222 |
{ |
223 | 223 |
mNumColors = ShapeDiamond.NUM_FACES; |
224 | 224 |
mFaceColors = ShapeDiamond.FACE_COLORS; |
225 | 225 |
} |
226 |
else if( object==ICOS_2.ordinal() )
|
|
226 |
else if( object==ICOS_2 ) |
|
227 | 227 |
{ |
228 | 228 |
mNumColors = ShapeIcosahedron.NUM_FACES; |
229 | 229 |
mFaceColors = ShapeIcosahedron.FACE_COLORS; |
230 | 230 |
} |
231 |
else if( object==DIN4_3.ordinal() )
|
|
231 |
else if( object==DIN4_3 ) |
|
232 | 232 |
{ |
233 | 233 |
mNumColors = 4; |
234 | 234 |
mFaceColors = new int[] { ShapeColors.COLOR_YELLOW, ShapeColors.COLOR_RED, ShapeColors.COLOR_BLUE, ShapeColors.COLOR_WHITE}; |
... | ... | |
292 | 292 |
|
293 | 293 |
private void pressSolve(SolverActivity act) |
294 | 294 |
{ |
295 |
int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(mObjectOrdinal);
|
|
295 |
int[] solverOrdinals = ImplementedVerifierList.getSolverOrdinals(mObject); |
|
296 | 296 |
|
297 | 297 |
if( solverOrdinals!=null ) |
298 | 298 |
{ |
... | ... | |
314 | 314 |
} |
315 | 315 |
else // more than one solver - pop up a choosing dialog |
316 | 316 |
{ |
317 |
ListObjects objList = ListObjects.getObject(mObjectOrdinal); |
|
318 |
String upperName = objList.name(); |
|
317 |
String upperName = mObject.name(); |
|
319 | 318 |
Bundle bundle = new Bundle(); |
320 | 319 |
bundle.putString("argument", upperName ); |
321 | 320 |
DialogSolvers dialog = new DialogSolvers(); |
... | ... | |
327 | 326 |
} |
328 | 327 |
else displayErrorDialog(act.getString(R.string.solver_generic_not_implemented)); |
329 | 328 |
} |
330 |
else displayErrorDialog("No solvers found for object "+mObjectOrdinal);
|
|
329 |
else displayErrorDialog("No solvers found for object "+mObject.name() );
|
|
331 | 330 |
} |
332 | 331 |
|
333 | 332 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
src/main/java/org/distorted/solvers/SolverActivity.java | ||
---|---|---|
26 | 26 |
import org.distorted.objectlib.main.InitAssets; |
27 | 27 |
import org.distorted.objectlib.main.ObjectControl; |
28 | 28 |
import org.distorted.objectlib.main.TwistyObject; |
29 |
import org.distorted.objectlib.metadata.ListObjects; |
|
29 | 30 |
import org.distorted.objectlib.solvers.verifiers.SolverAbstract; |
30 | 31 |
import org.distorted.objects.RubikObject; |
31 | 32 |
import org.distorted.objects.RubikObjectList; |
... | ... | |
226 | 227 |
|
227 | 228 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
228 | 229 |
|
229 |
public int getObjectOrdinal()
|
|
230 |
public ListObjects getObjectList()
|
|
230 | 231 |
{ |
231 |
return mObjectOrdinal;
|
|
232 |
return ListObjects.getObject(mObjectOrdinal);
|
|
232 | 233 |
} |
233 | 234 |
|
234 | 235 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
src/main/java/org/distorted/solvers/SolverObjectLibInterface.java | ||
---|---|---|
16 | 16 |
import org.distorted.objectlib.helpers.BlockController; |
17 | 17 |
import org.distorted.objectlib.helpers.ObjectLibInterface; |
18 | 18 |
import org.distorted.objectlib.main.ObjectControl; |
19 |
import org.distorted.objectlib.metadata.ListObjects; |
|
19 | 20 |
import org.distorted.objects.RubikObject; |
20 | 21 |
import org.distorted.objects.RubikObjectList; |
21 | 22 |
import org.distorted.objectlib.solvers.verifiers.ImplementedVerifierList; |
... | ... | |
172 | 173 |
SolverActivity act = mAct.get(); |
173 | 174 |
ScreenSetupPosition solver = (ScreenSetupPosition) ScreenList.SVER.getScreenClass(); |
174 | 175 |
int color = solver.getCurrentColor(); |
175 |
int currObject = act.getObjectOrdinal();
|
|
176 |
ListObjects currObject = act.getObjectList();
|
|
176 | 177 |
mLastCubitColor = ImplementedVerifierList.cubitIsLocked(currObject,cubit); |
177 | 178 |
mLastCubit = cubit; |
178 | 179 |
mLastCubitFace = face; |
Also available in: Unified diff
Reconfigure for Java 11
Beginnings of real support for moving objects around in ListObjects