Revision 74686c71
Added by Leszek Koltunski over 5 years ago
| src/main/java/org/distorted/magic/RubikRenderer.java | ||
|---|---|---|
| 24 | 24 |
|
| 25 | 25 |
import org.distorted.effect.BaseEffect; |
| 26 | 26 |
import org.distorted.library.effect.VertexEffectSink; |
| 27 |
import org.distorted.library.main.DistortedEffects; |
|
| 28 | 27 |
import org.distorted.library.main.DistortedLibrary; |
| 29 | 28 |
import org.distorted.library.main.DistortedScreen; |
| 30 |
import org.distorted.library.main.DistortedTexture; |
|
| 31 |
import org.distorted.library.mesh.MeshFlat; |
|
| 32 | 29 |
import org.distorted.library.message.EffectListener; |
| 33 | 30 |
import org.distorted.object.RubikObject; |
| 34 | 31 |
import org.distorted.object.RubikObjectList; |
| ... | ... | |
| 57 | 54 |
private boolean mIsSolved; |
| 58 | 55 |
private RubikObject mOldObject, mNewObject; |
| 59 | 56 |
private int mScreenWidth, mScreenHeight; |
| 60 |
private MeshFlat mMesh; |
|
| 61 | 57 |
private SharedPreferences mPreferences; |
| 62 | 58 |
|
| 63 | 59 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 86 | 82 |
mCanUI = true; |
| 87 | 83 |
|
| 88 | 84 |
mEffectID = new long[BaseEffect.Type.LENGTH]; |
| 89 |
|
|
| 90 |
mMesh= new MeshFlat(20,20); |
|
| 91 | 85 |
} |
| 92 | 86 |
|
| 93 | 87 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| ... | ... | |
| 99 | 93 |
if( mOldObject!=null ) mOldObject.releaseResources(); |
| 100 | 94 |
mOldObject = mNewObject; |
| 101 | 95 |
|
| 102 |
DistortedTexture texture = new DistortedTexture(TEXTURE_SIZE,TEXTURE_SIZE); |
|
| 103 |
DistortedEffects effects = new DistortedEffects(); |
|
| 104 |
|
|
| 105 |
mNewObject = object.create(mView.getQuatCurrent(), mView.getQuatAccumulated(), texture, mMesh, effects); |
|
| 96 |
mNewObject = object.create(mView.getQuatCurrent(), mView.getQuatAccumulated()); |
|
| 106 | 97 |
mNewObject.createTexture(); |
| 107 | 98 |
mView.setMovement(object.getObjectMovementClass()); |
| 108 | 99 |
|
| src/main/java/org/distorted/object/RubikCubeMovement.java | ||
|---|---|---|
| 67 | 67 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 68 | 68 |
// retFace{X,Y,Z}axis: 3 functions which return which real AXIS gets mapped to which when we look
|
| 69 | 69 |
// directly at a given face. For example, when we look at the RIGHT face of the cube (with TOP still |
| 70 |
// in the top) then the 'real' X axis becomes the 'Z' axis, thus retFaceZaxis(RIGHT) = VECTX.
|
|
| 70 |
// in the top) then the 'real' X axis becomes the 'Z' axis, thus retFaceXaxis(RIGHT) = VECTZ.
|
|
| 71 | 71 |
|
| 72 | 72 |
private int retFaceXaxis(int face) |
| 73 | 73 |
{
|
| src/main/java/org/distorted/object/RubikObject.java | ||
|---|---|---|
| 181 | 181 |
public abstract long finishRotationNow(EffectListener listener); |
| 182 | 182 |
public abstract void removeRotationNow(); |
| 183 | 183 |
|
| 184 |
public abstract void releaseResources(); |
|
| 185 |
public abstract void createTexture(); |
|
| 186 | 184 |
public abstract void apply(Effect effect, int position); |
| 187 | 185 |
public abstract void remove(long effectID); |
| 186 |
|
|
| 187 |
public abstract void releaseResources(); |
|
| 188 |
public abstract void createTexture(); |
|
| 189 |
|
|
| 188 | 190 |
public abstract void solve(); |
| 189 | 191 |
public abstract boolean isSolved(); |
| 190 | 192 |
} |
| src/main/java/org/distorted/object/RubikObjectList.java | ||
|---|---|---|
| 25 | 25 |
import org.distorted.library.type.Static4D; |
| 26 | 26 |
import org.distorted.magic.R; |
| 27 | 27 |
|
| 28 |
import static org.distorted.magic.RubikRenderer.TEXTURE_SIZE; |
|
| 29 |
|
|
| 28 | 30 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 29 | 31 |
|
| 30 | 32 |
public enum RubikObjectList |
| ... | ... | |
| 82 | 84 |
} |
| 83 | 85 |
|
| 84 | 86 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 87 |
// TODO - currently all objects in the list are RubikCubes of various sizes |
|
| 85 | 88 |
|
| 86 |
public RubikObject create(Static4D quatCur, Static4D quatAcc, DistortedTexture texture, MeshFlat mesh, DistortedEffects effects)
|
|
| 89 |
public RubikObject create(Static4D quatCur, Static4D quatAcc) |
|
| 87 | 90 |
{
|
| 91 |
DistortedTexture texture = new DistortedTexture(TEXTURE_SIZE,TEXTURE_SIZE); |
|
| 92 |
DistortedEffects effects = new DistortedEffects(); |
|
| 93 |
MeshFlat mesh= new MeshFlat(20,20); |
|
| 94 |
|
|
| 88 | 95 |
return new RubikCube(mObjectSize, quatCur, quatAcc, texture, mesh, effects); |
| 89 | 96 |
} |
| 90 | 97 |
|
| 91 | 98 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
| 99 |
// TODO - currently all objects in the list are RubikCubes of various sizes |
|
| 92 | 100 |
|
| 93 | 101 |
public RubikObjectMovement getObjectMovementClass() |
| 94 | 102 |
{
|
Also available in: Unified diff
Small improvement.