Revision 8ab435b9
Added by Leszek Koltunski about 4 years ago
| src/main/java/org/distorted/dialogs/RubikDialogNewRecord.java | ||
|---|---|---|
| 38 | 38 |
import org.distorted.main.R; |
| 39 | 39 |
import org.distorted.main.RubikActivity; |
| 40 | 40 |
import org.distorted.network.RubikScores; |
| 41 |
import org.distorted.objectlib.main.ObjectType; |
|
| 41 | 42 |
import org.distorted.screens.ScreenList; |
| 42 | 43 |
import org.distorted.screens.RubikScreenPlay; |
| 43 | 44 |
|
| ... | ... | |
| 79 | 80 |
if( name.length()>0 ) |
| 80 | 81 |
{
|
| 81 | 82 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 82 |
int object = play.getObject();
|
|
| 83 |
ObjectType object = play.getObject();
|
|
| 83 | 84 |
|
| 84 |
bundle.putInt("tab", object );
|
|
| 85 |
bundle.putInt("tab", object.ordinal() );
|
|
| 85 | 86 |
bundle.putBoolean("submitting", true);
|
| 86 | 87 |
|
| 87 | 88 |
RubikDialogScores scoresDiag = new RubikDialogScores(); |
| src/main/java/org/distorted/dialogs/RubikDialogScoresPagerAdapter.java | ||
|---|---|---|
| 109 | 109 |
{
|
| 110 | 110 |
prepareView(); |
| 111 | 111 |
|
| 112 |
ObjectType[] types = ObjectType.values(); |
|
| 112 | 113 |
int MAX = RubikScreenPlay.LEVELS_SHOWN; |
| 113 | 114 |
int toDo=0; |
| 114 | 115 |
int[] toDoTab = new int[mNumTabs]; |
| ... | ... | |
| 117 | 118 |
|
| 118 | 119 |
for(int i=0; i<mNumTabs; i++) |
| 119 | 120 |
{
|
| 120 |
lastTab[i]= ObjectType.getDBLevel(i);
|
|
| 121 |
lastTab[i]= RubikScreenPlay.getDBLevel(types[i]);
|
|
| 121 | 122 |
maxTab[i] = Math.min(lastTab[i],MAX); |
| 122 | 123 |
toDoTab[i]= 0; |
| 123 | 124 |
|
| src/main/java/org/distorted/dialogs/RubikDialogSetName.java | ||
|---|---|---|
| 148 | 148 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 149 | 149 |
|
| 150 | 150 |
Bundle bundle = new Bundle(); |
| 151 |
bundle.putInt("tab", play.getObject() );
|
|
| 151 |
bundle.putInt("tab", play.getObject().ordinal() );
|
|
| 152 | 152 |
bundle.putBoolean("submitting", true);
|
| 153 | 153 |
|
| 154 | 154 |
RubikDialogScores scores = new RubikDialogScores(); |
| src/main/java/org/distorted/dialogs/RubikDialogTutorialView.java | ||
|---|---|---|
| 76 | 76 |
String packageName = act.getPackageName(); |
| 77 | 77 |
|
| 78 | 78 |
TutorialList list = TutorialList.getObject(position); |
| 79 |
ObjectType objList = list.getObjectList();
|
|
| 79 |
ObjectType objType = list.getObject();
|
|
| 80 | 80 |
|
| 81 | 81 |
View tab = inflate( act, R.layout.dialog_tutorial_tab, null); |
| 82 | 82 |
LinearLayout layout = tab.findViewById(R.id.tabLayout); |
| ... | ... | |
| 92 | 92 |
|
| 93 | 93 |
int countryID = res.getIdentifier( coun, "drawable", packageName); |
| 94 | 94 |
|
| 95 |
View row = createRow(ract,countryID,desc,url,auth,widthT,objList);
|
|
| 95 |
View row = createRow(ract,countryID,desc,url,auth,widthT,objType);
|
|
| 96 | 96 |
layout.addView(row); |
| 97 | 97 |
} |
| 98 | 98 |
|
| src/main/java/org/distorted/main/RubikActivity.java | ||
|---|---|---|
| 272 | 272 |
scores.setCountry(this); |
| 273 | 273 |
} |
| 274 | 274 |
|
| 275 |
boolean success = false; |
|
| 276 | 275 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 277 |
int object = play.getObject(); |
|
| 278 |
|
|
| 279 |
if( object>=0 && object< ObjectType.NUM_OBJECTS ) |
|
| 280 |
{
|
|
| 281 |
success = true; |
|
| 282 |
ObjectType nextObj = ObjectType.values()[object]; |
|
| 283 |
view.getPreRender().changeObject(nextObj); |
|
| 284 |
} |
|
| 285 |
|
|
| 286 |
if( !success ) |
|
| 287 |
{
|
|
| 288 |
ObjectType obj = ObjectType.getObject(RubikScreenPlay.DEF_OBJECT); |
|
| 289 |
play.setObject(this,obj); |
|
| 290 |
view.getPreRender().changeObject(obj); |
|
| 291 |
} |
|
| 292 |
|
|
| 276 |
ObjectType object = play.getObject(); |
|
| 277 |
view.getPreRender().changeObject(object); |
|
| 278 |
|
|
| 293 | 279 |
if( mIsChinese && !mPolicyAccepted ) PrivacyPolicy(); |
| 294 | 280 |
} |
| 295 | 281 |
|
| src/main/java/org/distorted/main/RubikObjectStateActioner.java | ||
|---|---|---|
| 81 | 81 |
|
| 82 | 82 |
private void reportRecord(TwistyActivity act, String debug, int scrambleNum) |
| 83 | 83 |
{
|
| 84 |
RubikActivity ract = (RubikActivity)act; |
|
| 85 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
|
| 86 |
RubikScores scores = RubikScores.getInstance(); |
|
| 87 |
|
|
| 88 |
int object = play.getObject(); |
|
| 89 |
int level = play.getLevel(); |
|
| 90 |
ObjectType list = ObjectType.getObject(object); |
|
| 91 |
String name = scores.getName(); |
|
| 92 |
|
|
| 93 |
String record = list.name()+" level "+level+" time "+mNewRecord+" isNew: "+mIsNewRecord+" scrambleNum: "+scrambleNum; |
|
| 84 |
RubikActivity ract = (RubikActivity)act; |
|
| 85 |
RubikScreenPlay play= (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
|
| 86 |
RubikScores scores = RubikScores.getInstance(); |
|
| 87 |
ObjectType object = play.getObject(); |
|
| 88 |
int level = play.getLevel(); |
|
| 89 |
String name = scores.getName(); |
|
| 90 |
|
|
| 91 |
String record = object.name()+" level "+level+" time "+mNewRecord+" isNew: "+mIsNewRecord+" scrambleNum: "+scrambleNum; |
|
| 94 | 92 |
|
| 95 | 93 |
if( BuildConfig.DEBUG ) |
| 96 | 94 |
{
|
| src/main/java/org/distorted/network/RubikNetwork.java | ||
|---|---|---|
| 36 | 36 |
import org.distorted.library.main.DistortedLibrary; |
| 37 | 37 |
import org.distorted.objectlib.main.ObjectType; |
| 38 | 38 |
|
| 39 |
import static org.distorted.objectlib.main.ObjectType.MAX_LEVEL;
|
|
| 39 |
import static org.distorted.screens.RubikScreenPlay.MAX_LEVEL;
|
|
| 40 | 40 |
import static org.distorted.objectlib.main.ObjectType.NUM_OBJECTS; |
| 41 | 41 |
|
| 42 | 42 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 458 | 458 |
return url; |
| 459 | 459 |
} |
| 460 | 460 |
|
| 461 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 462 |
|
|
| 463 |
private static String getObjectList() |
|
| 464 |
{
|
|
| 465 |
StringBuilder list = new StringBuilder(); |
|
| 466 |
ObjectType[] objects = ObjectType.values(); |
|
| 467 |
|
|
| 468 |
for(int i=0; i<NUM_OBJECTS; i++) |
|
| 469 |
{
|
|
| 470 |
if( i>0 ) list.append(',');
|
|
| 471 |
list.append(objects[i].name()); |
|
| 472 |
} |
|
| 473 |
|
|
| 474 |
return list.toString(); |
|
| 475 |
} |
|
| 476 |
|
|
| 461 | 477 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 462 | 478 |
|
| 463 | 479 |
private String constructDownloadURL() |
| ... | ... | |
| 471 | 487 |
|
| 472 | 488 |
String url="https://distorted.org/magic/cgi-bin/download.cgi"; |
| 473 | 489 |
url += "?n="+name+"&v="+veri+"&r="+numRuns+"&p="+numPlay+"&c="+country+"&e="+mVersion+"d"; |
| 474 |
url += "&o="+ ObjectType.getObjectList()+"&min=0&max="+MAX_LEVEL+"&l="+MAX_PLACES;
|
|
| 490 |
url += "&o="+getObjectList()+"&min=0&max="+MAX_LEVEL+"&l="+MAX_PLACES; |
|
| 475 | 491 |
|
| 476 | 492 |
return url; |
| 477 | 493 |
} |
| ... | ... | |
| 501 | 517 |
String url1="https://distorted.org/magic/cgi-bin/submit.cgi"; |
| 502 | 518 |
String url2 = "n="+name+"&v="+veri+"&r="+numRuns+"&p="+numPlay+"&i="+deviceID+"&e="+mVersion+"d"; |
| 503 | 519 |
url2 += "&d="+renderer+"&s="+version; |
| 504 |
url2 += reclist+"&c="+country+"&f="+epoch+"&oo="+ ObjectType.getObjectList();
|
|
| 520 |
url2 += reclist+"&c="+country+"&f="+epoch+"&oo="+getObjectList(); |
|
| 505 | 521 |
url2 += "&min=0&max="+MAX_LEVEL+"&lo="+MAX_PLACES; |
| 506 | 522 |
String hash = computeHash( url2, salt.getBytes() ); |
| 507 | 523 |
|
| src/main/java/org/distorted/network/RubikScores.java | ||
|---|---|---|
| 28 | 28 |
import com.google.firebase.crashlytics.FirebaseCrashlytics; |
| 29 | 29 |
|
| 30 | 30 |
import static org.distorted.objectlib.main.ObjectType.NUM_OBJECTS; |
| 31 |
import static org.distorted.objectlib.main.ObjectType.MAX_LEVEL;
|
|
| 31 |
import static org.distorted.screens.RubikScreenPlay.MAX_LEVEL;
|
|
| 32 | 32 |
|
| 33 | 33 |
import org.distorted.objectlib.main.ObjectType; |
| 34 | 34 |
|
| src/main/java/org/distorted/patterns/RubikPatternList.java | ||
|---|---|---|
| 72 | 72 |
// PUBLIC API |
| 73 | 73 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 74 | 74 |
|
| 75 |
public static int getOrdinal(int object)
|
|
| 75 |
public static int getOrdinal(ObjectType object)
|
|
| 76 | 76 |
{
|
| 77 | 77 |
for(int i=0; i<NUM_OBJECTS; i++) |
| 78 | 78 |
{
|
| 79 |
if( objects[i].mObject.ordinal() == object )
|
|
| 79 |
if( objects[i].mObject == object ) |
|
| 80 | 80 |
{
|
| 81 | 81 |
return i; |
| 82 | 82 |
} |
| src/main/java/org/distorted/screens/RubikScreenAbstract.java | ||
|---|---|---|
| 22 | 22 |
import android.content.SharedPreferences; |
| 23 | 23 |
|
| 24 | 24 |
import org.distorted.main.RubikActivity; |
| 25 |
import org.distorted.objectlib.main.ObjectType; |
|
| 25 | 26 |
import org.distorted.patterns.RubikPatternList; |
| 26 | 27 |
import org.distorted.tutorials.TutorialList; |
| 27 | 28 |
|
| ... | ... | |
| 32 | 33 |
int getPatternOrdinal() |
| 33 | 34 |
{
|
| 34 | 35 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 35 |
int obj = play.getObject();
|
|
| 36 |
ObjectType obj = play.getObject();
|
|
| 36 | 37 |
int ret = RubikPatternList.getOrdinal(obj); |
| 37 | 38 |
|
| 38 | 39 |
if( ret<0 ) |
| ... | ... | |
| 48 | 49 |
int getTutorialOrdinal() |
| 49 | 50 |
{
|
| 50 | 51 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 51 |
int obj = play.getObject();
|
|
| 52 |
ObjectType obj = play.getObject();
|
|
| 52 | 53 |
|
| 53 | 54 |
int ret = TutorialList.getOrdinal(obj); |
| 54 | 55 |
|
| src/main/java/org/distorted/screens/RubikScreenPattern.java | ||
|---|---|---|
| 67 | 67 |
|
| 68 | 68 |
if( !play.setObject(act,object) ) |
| 69 | 69 |
{
|
| 70 |
int objectPlay= play.getObject(); |
|
| 71 |
|
|
| 72 |
act.changeObject(ObjectType.getObject(objectPlay),false); |
|
| 70 |
act.changeObject(play.getObject(),false); |
|
| 73 | 71 |
} |
| 74 | 72 |
} |
| 75 | 73 |
|
| src/main/java/org/distorted/screens/RubikScreenPlay.java | ||
|---|---|---|
| 54 | 54 |
{
|
| 55 | 55 |
public static final int NUM_COLUMNS = 4; |
| 56 | 56 |
public static final int LEVELS_SHOWN = 10; |
| 57 |
public static final int DEF_OBJECT= ObjectType.CUBE_3.ordinal(); |
|
| 57 |
public static int MAX_LEVEL; |
|
| 58 |
public static final ObjectType DEF_OBJECT= ObjectType.CUBE_3; |
|
| 58 | 59 |
|
| 59 | 60 |
private static final int[] BUTTON_LABELS = { R.string.scores,
|
| 60 | 61 |
R.string.patterns, |
| ... | ... | |
| 70 | 71 |
private ImageButton mObjButton, mMenuButton, mSolveButton; |
| 71 | 72 |
private Button mPlayButton; |
| 72 | 73 |
private PopupWindow mObjectPopup, mMenuPopup, mPlayPopup; |
| 73 |
private int mObject = DEF_OBJECT;
|
|
| 74 |
private ObjectType mObject = DEF_OBJECT;
|
|
| 74 | 75 |
private int mObjectSize, mMenuLayoutWidth, mMenuLayoutHeight, mPlayLayoutWidth; |
| 75 | 76 |
private int mLevelValue; |
| 76 | 77 |
private float mButtonSize, mMenuItemSize, mMenuTextSize; |
| ... | ... | |
| 78 | 79 |
private LinearLayout mPlayLayout; |
| 79 | 80 |
private int mUpperBarHeight; |
| 80 | 81 |
|
| 82 |
static |
|
| 83 |
{
|
|
| 84 |
ObjectType[] types = ObjectType.values(); |
|
| 85 |
int max = Integer.MIN_VALUE; |
|
| 86 |
|
|
| 87 |
for (ObjectType type : types) |
|
| 88 |
{
|
|
| 89 |
int cur = getDBLevel(type); |
|
| 90 |
if( cur>max ) max = cur; |
|
| 91 |
} |
|
| 92 |
|
|
| 93 |
MAX_LEVEL = max; |
|
| 94 |
} |
|
| 95 |
|
|
| 81 | 96 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 82 | 97 |
|
| 83 | 98 |
void leaveScreen(RubikActivity act) |
| ... | ... | |
| 120 | 135 |
createBottomPane(act,width,mSolveButton); |
| 121 | 136 |
} |
| 122 | 137 |
|
| 123 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
| 138 |
////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 124 | 139 |
|
| 125 | 140 |
private void setupObjectButton(final RubikActivity act, final float width) |
| 126 | 141 |
{
|
| ... | ... | |
| 163 | 178 |
{
|
| 164 | 179 |
View popupView = mPlayPopup.getContentView(); |
| 165 | 180 |
popupView.setSystemUiVisibility(RubikActivity.FLAGS); |
| 166 |
final int dbLevel = ObjectType.getDBLevel(mObject);
|
|
| 181 |
final int dbLevel = getDBLevel(mObject); |
|
| 167 | 182 |
final int levelsShown = Math.min(dbLevel,LEVELS_SHOWN); |
| 168 | 183 |
final int popupHeight = (int)(levelsShown*(mMenuItemSize+margin)+3*margin+mMenuItemSize*(LAST_BUTTON-1.0f)); |
| 169 | 184 |
final int realHeight = Math.min(popupHeight,maxHeight); |
| ... | ... | |
| 258 | 273 |
{
|
| 259 | 274 |
if( act.getPreRender().isUINotBlocked() && ScreenList.getCurrentScreen()== ScreenList.PLAY ) |
| 260 | 275 |
{
|
| 261 |
mObject = obj;
|
|
| 276 |
mObject = ObjectType.getObject(obj);
|
|
| 262 | 277 |
act.changeObject(list, true); |
| 263 | 278 |
adjustLevels(act); |
| 264 | 279 |
mMovesController.clearMoves(act); |
| ... | ... | |
| 344 | 359 |
{
|
| 345 | 360 |
switch(button) |
| 346 | 361 |
{
|
| 347 |
case 0: RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
|
| 348 |
int object = play.getObject(); |
|
| 349 |
Bundle sBundle = new Bundle(); |
|
| 350 |
sBundle.putInt("tab", object );
|
|
| 362 |
case 0: Bundle sBundle = new Bundle(); |
|
| 363 |
sBundle.putInt("tab", mObject.ordinal() );
|
|
| 351 | 364 |
sBundle.putBoolean("submitting", false);
|
| 352 | 365 |
RubikDialogScores scores = new RubikDialogScores(); |
| 353 | 366 |
scores.setArguments(sBundle); |
| ... | ... | |
| 403 | 416 |
|
| 404 | 417 |
public void savePreferences(SharedPreferences.Editor editor) |
| 405 | 418 |
{
|
| 406 |
editor.putInt("statePlay_object", mObject);
|
|
| 419 |
editor.putString("statePlay_objName", mObject.name() );
|
|
| 407 | 420 |
|
| 408 | 421 |
if( mObjectPopup!=null ) |
| 409 | 422 |
{
|
| ... | ... | |
| 428 | 441 |
|
| 429 | 442 |
public void restorePreferences(SharedPreferences preferences) |
| 430 | 443 |
{
|
| 431 |
mObject= preferences.getInt("statePlay_object", DEF_OBJECT);
|
|
| 432 |
int dbLevel = ObjectType.getDBLevel(mObject); |
|
| 433 |
|
|
| 434 |
// This means the app has been upgraded to a new version which swapped the |
|
| 435 |
// Object for a new one with larger sizeIndex and now getMaxLevel() returns |
|
| 436 |
// 0. Reset the object to default, otherwise we'll get a crash later on. |
|
| 437 |
|
|
| 438 |
if( dbLevel==0 ) mObject = DEF_OBJECT; |
|
| 444 |
String objName= preferences.getString("statePlay_objName", DEF_OBJECT.name() );
|
|
| 445 |
int ordinal = ObjectType.getOrdinal(objName); |
|
| 446 |
mObject = ordinal>=0 ? ObjectType.values()[ordinal] : DEF_OBJECT; |
|
| 439 | 447 |
} |
| 440 | 448 |
|
| 441 | 449 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 442 | 450 |
|
| 443 | 451 |
public boolean setObject(RubikActivity act, ObjectType obj) |
| 444 | 452 |
{
|
| 445 |
if( mObject!=obj.ordinal() )
|
|
| 453 |
if( mObject!=obj ) |
|
| 446 | 454 |
{
|
| 447 |
mObject = obj.ordinal();
|
|
| 455 |
mObject = obj; |
|
| 448 | 456 |
if( mPlayLayout!=null ) adjustLevels(act); |
| 449 | 457 |
return true; |
| 450 | 458 |
} |
| ... | ... | |
| 493 | 501 |
|
| 494 | 502 |
private void adjustLevels(final RubikActivity act) |
| 495 | 503 |
{
|
| 496 |
int dbLevel = ObjectType.getDBLevel(mObject);
|
|
| 497 |
int numScrambles = ObjectType.getNumScramble(mObject); |
|
| 504 |
int dbLevel = getDBLevel(mObject); |
|
| 505 |
int numScrambles = ObjectType.getNumScramble(mObject.ordinal());
|
|
| 498 | 506 |
int numLevel = Math.min(dbLevel, LEVELS_SHOWN); |
| 499 | 507 |
String[] levels = new String[numLevel]; |
| 500 | 508 |
|
| ... | ... | |
| 541 | 549 |
button.setText(levels[i]); |
| 542 | 550 |
button.setTextSize(TypedValue.COMPLEX_UNIT_PX, mMenuTextSize); |
| 543 | 551 |
|
| 544 |
int icon = scores.isSolved(mObject, level-1) ? R.drawable.ui_solved : R.drawable.ui_notsolved; |
|
| 552 |
int icon = scores.isSolved(mObject.ordinal(), level-1) ? R.drawable.ui_solved : R.drawable.ui_notsolved;
|
|
| 545 | 553 |
button.setCompoundDrawablesWithIntrinsicBounds(icon,0,0,0); |
| 546 | 554 |
|
| 547 | 555 |
button.setOnClickListener( new View.OnClickListener() |
| ... | ... | |
| 564 | 572 |
} |
| 565 | 573 |
} |
| 566 | 574 |
|
| 575 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
| 576 |
// historically older versions of the app had lower 'maxScrambles' in case of several objects and |
|
| 577 |
// those got remembered in the server-side DB already, so we need to keep using them. This function |
|
| 578 |
// provides a map between 'maxScramble' of an object and its 'dbLevel'. All new objects will have |
|
| 579 |
// those two values the same. |
|
| 580 |
|
|
| 581 |
public static int getDBLevel(ObjectType object) |
|
| 582 |
{
|
|
| 583 |
switch(object) |
|
| 584 |
{
|
|
| 585 |
case CUBE_3: return 16; |
|
| 586 |
case CUBE_4: return 20; |
|
| 587 |
case CUBE_5: return 24; |
|
| 588 |
case PYRA_4: return 14; |
|
| 589 |
case PYRA_5: return 20; |
|
| 590 |
case MEGA_5: return 35; |
|
| 591 |
case DIAM_2: return 10; |
|
| 592 |
case DIAM_3: return 18; |
|
| 593 |
case REDI_3: return 14; |
|
| 594 |
case HELI_3: return 18; |
|
| 595 |
case SKEW_3: return 17; |
|
| 596 |
case REX_3 : return 16; |
|
| 597 |
case MIRR_3: return 16; |
|
| 598 |
default : return ObjectType.getNumScramble(object.ordinal()); |
|
| 599 |
} |
|
| 600 |
} |
|
| 601 |
|
|
| 567 | 602 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 568 | 603 |
|
| 569 | 604 |
public int getLevel() |
| ... | ... | |
| 573 | 608 |
|
| 574 | 609 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 575 | 610 |
|
| 576 |
public int getObject()
|
|
| 611 |
public ObjectType getObject()
|
|
| 577 | 612 |
{
|
| 578 | 613 |
return mObject; |
| 579 | 614 |
} |
| src/main/java/org/distorted/screens/RubikScreenSolving.java | ||
|---|---|---|
| 35 | 35 |
import org.distorted.main.R; |
| 36 | 36 |
import org.distorted.main.RubikActivity; |
| 37 | 37 |
import org.distorted.network.RubikScores; |
| 38 |
import org.distorted.objectlib.main.ObjectType; |
|
| 38 | 39 |
|
| 39 | 40 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 40 | 41 |
|
| ... | ... | |
| 185 | 186 |
mElapsed = System.currentTimeMillis()-mStartTime; |
| 186 | 187 |
|
| 187 | 188 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 188 |
int object = play.getObject();
|
|
| 189 |
ObjectType object = play.getObject();
|
|
| 189 | 190 |
int level = play.getLevel(); |
| 190 |
boolean isNew = mScores.setRecord(object, level, mElapsed); |
|
| 191 |
boolean isNew = mScores.setRecord(object.ordinal(), level, mElapsed);
|
|
| 191 | 192 |
|
| 192 | 193 |
return isNew ? mElapsed : -mElapsed; |
| 193 | 194 |
} |
| src/main/java/org/distorted/tutorials/TutorialList.java | ||
|---|---|---|
| 443 | 443 |
|
| 444 | 444 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 445 | 445 |
|
| 446 |
public static int getOrdinal(int object)
|
|
| 446 |
public static int getOrdinal(ObjectType object)
|
|
| 447 | 447 |
{
|
| 448 |
if( object== ObjectType.DIN4_3.ordinal() )
|
|
| 448 |
if( object== ObjectType.DIN4_3 ) |
|
| 449 | 449 |
{
|
| 450 |
object= ObjectType.DINO_3.ordinal();
|
|
| 450 |
object= ObjectType.DINO_3; |
|
| 451 | 451 |
} |
| 452 | 452 |
|
| 453 | 453 |
for(int i=0; i<NUM_OBJECTS; i++) |
| 454 | 454 |
{
|
| 455 |
if( objects[i].mObject.ordinal() == object )
|
|
| 455 |
if( objects[i].mObject == object ) |
|
| 456 | 456 |
{
|
| 457 | 457 |
return i; |
| 458 | 458 |
} |
| ... | ... | |
| 463 | 463 |
|
| 464 | 464 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 465 | 465 |
|
| 466 |
public ObjectType getObjectList()
|
|
| 466 |
public ObjectType getObject() |
|
| 467 | 467 |
{
|
| 468 | 468 |
return mObject; |
| 469 | 469 |
} |
| src/main/java/org/distorted/tutorials/TutorialScreen.java | ||
|---|---|---|
| 74 | 74 |
public void onClick(View v) |
| 75 | 75 |
{
|
| 76 | 76 |
RubikScreenPlay play = (RubikScreenPlay) ScreenList.PLAY.getScreenClass(); |
| 77 |
int numScrambles = ObjectType.getNumScramble(play.getObject()); |
|
| 77 |
int ordinal = play.getObject().ordinal(); |
|
| 78 |
int numScrambles = ObjectType.getNumScramble(ordinal); |
|
| 78 | 79 |
act.getPreRender().scrambleObject(numScrambles); |
| 79 | 80 |
} |
| 80 | 81 |
}); |
Also available in: Unified diff
1. Remove 'db level' from objectlib (this belongs to the app!)
2. change ScreenPlay's 'mObject' to be an ObjectType.