Project

General

Profile

« Previous | Next » 

Revision c9c71c3f

Added by Leszek Koltunski over 2 years ago

Abstract out the TouchControl stuff in preparation for its new type - TouchControlShapeChanging.

View differences:

src/main/java/org/distorted/objectlib/main/TwistyObject.java
51 51
import org.distorted.objectlib.helpers.ObjectSticker;
52 52
import org.distorted.objectlib.helpers.ScrambleState;
53 53
import org.distorted.objectlib.json.JsonReader;
54
import org.distorted.objectlib.movement.Movement;
55
import org.distorted.objectlib.movement.MovementCuboids;
56
import org.distorted.objectlib.movement.MovementDodecahedron;
57
import org.distorted.objectlib.movement.MovementHexahedron;
58
import org.distorted.objectlib.movement.MovementOctahedron;
59
import org.distorted.objectlib.movement.MovementTetrahedron;
54
import org.distorted.objectlib.touchcontrol.TouchControl;
55
import org.distorted.objectlib.touchcontrol.TouchControlCuboids;
56
import org.distorted.objectlib.touchcontrol.TouchControlDodecahedron;
57
import org.distorted.objectlib.touchcontrol.TouchControlHexahedron;
58
import org.distorted.objectlib.touchcontrol.TouchControlOctahedron;
59
import org.distorted.objectlib.touchcontrol.TouchControlTetrahedron;
60 60

  
61 61
import java.io.DataInputStream;
62 62
import java.io.IOException;
63 63
import java.io.InputStream;
64 64
import java.util.Random;
65 65

  
66
import static org.distorted.objectlib.movement.Movement.MOVEMENT_TETRAHEDRON;
67
import static org.distorted.objectlib.movement.Movement.MOVEMENT_HEXAHEDRON;
68
import static org.distorted.objectlib.movement.Movement.MOVEMENT_OCTAHEDRON;
69
import static org.distorted.objectlib.movement.Movement.MOVEMENT_DODECAHEDRON;
70
import static org.distorted.objectlib.movement.Movement.MOVEMENT_SHAPECHANGE;
66
import static org.distorted.objectlib.touchcontrol.TouchControl.TC_TETRAHEDRON;
67
import static org.distorted.objectlib.touchcontrol.TouchControl.TC_HEXAHEDRON;
68
import static org.distorted.objectlib.touchcontrol.TouchControl.TC_OCTAHEDRON;
69
import static org.distorted.objectlib.touchcontrol.TouchControl.TC_DODECAHEDRON;
70
import static org.distorted.objectlib.touchcontrol.TouchControl.TC_CUBOID;
71 71

  
72 72
///////////////////////////////////////////////////////////////////////////////////////////////////
73 73

  
......
136 136
  private int mCurrentRotAxis;
137 137
  private MeshBase mMesh;
138 138
  private TwistyObjectScrambler mScrambler;
139
  private Movement mMovement;
139
  private TouchControl mTouchControl;
140 140
  private boolean[][] mLayerRotatable;
141 141
  private int[][][] mEnabled;
142 142
  private DistortedNode mNode;
......
1136 1136
    float scale = mObjectScreenRatio*mInitScreenRatio*nodeSize/mSize;
1137 1137
    mObjectScale.set(scale,scale,scale);
1138 1138

  
1139
    if( mMovement==null ) mMovement = getMovement();
1140
    mMovement.setObjectRatio(mObjectScreenRatio*mInitScreenRatio);
1139
    if( mTouchControl ==null ) mTouchControl = getMovement();
1140
    mTouchControl.setObjectRatio(mObjectScreenRatio*mInitScreenRatio);
1141 1141
    }
1142 1142

  
1143 1143
///////////////////////////////////////////////////////////////////////////////////////////////////
......
1327 1327

  
1328 1328
///////////////////////////////////////////////////////////////////////////////////////////////////
1329 1329

  
1330
  public Movement getMovement()
1330
  public TouchControl getMovement()
1331 1331
    {
1332
    if( mMovement==null )
1332
    if( mTouchControl ==null )
1333 1333
      {
1334 1334
      int[] numLayers = getNumLayers();
1335 1335
      if( mCuts==null ) getCuts(numLayers);
......
1341 1341

  
1342 1342
      switch(movementType)
1343 1343
        {
1344
        case MOVEMENT_TETRAHEDRON : mMovement = new MovementTetrahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1345
                                    break;
1346
        case MOVEMENT_HEXAHEDRON  : mMovement = new MovementHexahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1347
                                    break;
1348
        case MOVEMENT_OCTAHEDRON  : mMovement = new MovementOctahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1349
                                    break;
1350
        case MOVEMENT_DODECAHEDRON: mMovement = new MovementDodecahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1351
                                    break;
1352
        case MOVEMENT_SHAPECHANGE : float[] dist3D = getDist3D(numLayers);
1353
                                    mMovement = new MovementCuboids(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled,dist3D);
1354
                                    break;
1344
        case TC_TETRAHEDRON : mTouchControl = new TouchControlTetrahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1345
                              break;
1346
        case TC_HEXAHEDRON  : mTouchControl = new TouchControlHexahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1347
                              break;
1348
        case TC_OCTAHEDRON  : mTouchControl = new TouchControlOctahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1349
                              break;
1350
        case TC_DODECAHEDRON: mTouchControl = new TouchControlDodecahedron(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled);
1351
                              break;
1352
        case TC_CUBOID      : float[] dist3D = getDist3D(numLayers);
1353
                              mTouchControl = new TouchControlCuboids(mAxis,mCuts,mLayerRotatable,mSize,movementSplit,mEnabled,dist3D);
1354
                              break;
1355 1355
        }
1356 1356
      }
1357
    return mMovement;
1357
    return mTouchControl;
1358 1358
    }
1359 1359

  
1360 1360
///////////////////////////////////////////////////////////////////////////////////////////////////

Also available in: Unified diff