Revision 2afc6754
Added by Leszek Koltunski about 4 years ago
| src/main/java/org/distorted/patterns/RubikPattern.java | ||
|---|---|---|
| 23 | 23 |
import java.util.List; |
| 24 | 24 |
|
| 25 | 25 |
import org.distorted.objectlib.helpers.MovesFinished; |
| 26 |
import org.distorted.objectlib.main.ObjectPreRender;
|
|
| 26 |
import org.distorted.objectlib.main.ObjectControl;
|
|
| 27 | 27 |
|
| 28 | 28 |
import static org.distorted.patterns.RubikPatternList.NUM_OBJECTS; |
| 29 | 29 |
|
| ... | ... | |
| 151 | 151 |
|
| 152 | 152 |
///////////////////////////////////////////////////////////// |
| 153 | 153 |
|
| 154 |
void makeMove(ObjectPreRender pre, int pattern)
|
|
| 154 |
void makeMove(ObjectControl control, int pattern)
|
|
| 155 | 155 |
{
|
| 156 | 156 |
if( !mInitialized ) initialize(); |
| 157 | 157 |
|
| 158 | 158 |
if( pattern>=0 && pattern<numPatterns ) |
| 159 | 159 |
{
|
| 160 | 160 |
Pattern p = mPatterns.get(pattern); |
| 161 |
if( p!=null ) p.makeMove(pre);
|
|
| 161 |
if( p!=null ) p.makeMove(control);
|
|
| 162 | 162 |
} |
| 163 | 163 |
} |
| 164 | 164 |
|
| 165 | 165 |
///////////////////////////////////////////////////////////// |
| 166 | 166 |
|
| 167 |
void backMove(ObjectPreRender pre, int pattern)
|
|
| 167 |
void backMove(ObjectControl control, int pattern)
|
|
| 168 | 168 |
{
|
| 169 | 169 |
if( !mInitialized ) initialize(); |
| 170 | 170 |
|
| 171 | 171 |
if( pattern>=0 && pattern<numPatterns ) |
| 172 | 172 |
{
|
| 173 | 173 |
Pattern p = mPatterns.get(pattern); |
| 174 |
if( p!=null ) p.backMove(pre);
|
|
| 174 |
if( p!=null ) p.backMove(control);
|
|
| 175 | 175 |
} |
| 176 | 176 |
} |
| 177 | 177 |
|
| ... | ... | |
| 317 | 317 |
|
| 318 | 318 |
///////////////////////////////////////////////////////////// |
| 319 | 319 |
|
| 320 |
void makeMove(ObjectPreRender pre)
|
|
| 320 |
void makeMove(ObjectControl control)
|
|
| 321 | 321 |
{
|
| 322 | 322 |
if( !mInitialized ) initialize(); |
| 323 | 323 |
|
| ... | ... | |
| 328 | 328 |
if( curMove>numMove ) |
| 329 | 329 |
{
|
| 330 | 330 |
curMove= 0; |
| 331 |
pre.initializeObject(null);
|
|
| 331 |
control.initializeObject(null);
|
|
| 332 | 332 |
} |
| 333 | 333 |
else |
| 334 | 334 |
{
|
| 335 | 335 |
int axis = moves[curMove-1][0]; |
| 336 | 336 |
int rowBitmap = moves[curMove-1][1]; |
| 337 | 337 |
int bareAngle = moves[curMove-1][2]; |
| 338 |
int basicAngle= pre.getObject().getBasicAngle()[axis];
|
|
| 338 |
int basicAngle= control.getObject().getBasicAngle()[axis];
|
|
| 339 | 339 |
int angle = bareAngle*(360/basicAngle); |
| 340 | 340 |
int duration = Math.abs(angle)*MILLIS_PER_DEGREE; |
| 341 | 341 |
|
| 342 | 342 |
if( angle!=0 ) |
| 343 | 343 |
{
|
| 344 | 344 |
mCanRotate = false; |
| 345 |
pre.addRotation(this, axis, rowBitmap, angle, duration);
|
|
| 345 |
control.addRotation(this, axis, rowBitmap, angle, duration);
|
|
| 346 | 346 |
} |
| 347 | 347 |
else |
| 348 | 348 |
{
|
| ... | ... | |
| 358 | 358 |
|
| 359 | 359 |
///////////////////////////////////////////////////////////// |
| 360 | 360 |
|
| 361 |
void backMove(ObjectPreRender pre)
|
|
| 361 |
void backMove(ObjectControl control)
|
|
| 362 | 362 |
{
|
| 363 | 363 |
if( !mInitialized ) initialize(); |
| 364 | 364 |
|
| ... | ... | |
| 369 | 369 |
if( curMove<0 ) |
| 370 | 370 |
{
|
| 371 | 371 |
curMove=numMove; |
| 372 |
pre.initializeObject(moves);
|
|
| 372 |
control.initializeObject(moves);
|
|
| 373 | 373 |
} |
| 374 | 374 |
else |
| 375 | 375 |
{
|
| 376 | 376 |
int axis = moves[curMove][0]; |
| 377 | 377 |
int rowBitmap = moves[curMove][1]; |
| 378 | 378 |
int bareAngle = moves[curMove][2]; |
| 379 |
int basicAngle= pre.getObject().getBasicAngle()[axis];
|
|
| 379 |
int basicAngle= control.getObject().getBasicAngle()[axis];
|
|
| 380 | 380 |
int angle = bareAngle*(360/basicAngle); |
| 381 | 381 |
int duration = Math.abs(angle)*MILLIS_PER_DEGREE; |
| 382 | 382 |
|
| 383 | 383 |
if( angle!=0 ) |
| 384 | 384 |
{
|
| 385 | 385 |
mCanRotate = false; |
| 386 |
pre.addRotation(this, axis, rowBitmap, -angle, duration);
|
|
| 386 |
control.addRotation(this, axis, rowBitmap, -angle, duration);
|
|
| 387 | 387 |
} |
| 388 | 388 |
else |
| 389 | 389 |
{
|
| ... | ... | |
| 576 | 576 |
|
| 577 | 577 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 578 | 578 |
|
| 579 |
public void makeMove(ObjectPreRender pre, int tab, int cat, int pat)
|
|
| 579 |
public void makeMove(ObjectControl control, int tab, int cat, int pat)
|
|
| 580 | 580 |
{
|
| 581 | 581 |
Category c = getCategory(tab,cat); |
| 582 |
if( c!=null ) c.makeMove(pre,pat);
|
|
| 582 |
if( c!=null ) c.makeMove(control,pat);
|
|
| 583 | 583 |
} |
| 584 | 584 |
|
| 585 | 585 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 586 | 586 |
|
| 587 |
public void backMove(ObjectPreRender pre, int tab, int cat, int pat)
|
|
| 587 |
public void backMove(ObjectControl control, int tab, int cat, int pat)
|
|
| 588 | 588 |
{
|
| 589 | 589 |
Category c = getCategory(tab,cat); |
| 590 |
if( c!=null ) c.backMove(pre,pat);
|
|
| 590 |
if( c!=null ) c.backMove(control,pat);
|
|
| 591 | 591 |
} |
| 592 | 592 |
|
| 593 | 593 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
Also available in: Unified diff
Move RubikControl to objectlib (as 'ObjectAutomator')
Hide ObjectPreRender inside objectlib and move its APi to ObjectControl.