Project

General

Profile

« Previous | Next » 

Revision 59c20632

Added by Leszek Koltunski over 2 years ago

Reorg for writing the JSON

View differences:

src/main/java/org/distorted/objectlib/objects/TwistyMirror.java
19 19

  
20 20
package org.distorted.objectlib.objects;
21 21

  
22
import static org.distorted.objectlib.main.Movement.MOVEMENT_HEXAHEDRON;
22 23
import static org.distorted.objectlib.main.Movement.TYPE_NOT_SPLIT;
23 24

  
24 25
import android.content.res.Resources;
......
30 31
import org.distorted.library.type.Static4D;
31 32

  
32 33
import org.distorted.objectlib.R;
33
import org.distorted.objectlib.main.Movement;
34
import org.distorted.objectlib.main.Movement6;
35 34
import org.distorted.objectlib.main.ObjectControl;
36 35
import org.distorted.objectlib.main.ObjectType;
37 36
import org.distorted.objectlib.helpers.ObjectShape;
......
50 49
           new Static3D(0,0,1)
51 50
         };
52 51

  
53
  private static final int[][][] ENABLED = new int[][][]
54
      {
55
          {{1,2}},{{1,2}},{{0,2}},{{0,2}},{{0,1}},{{0,1}},
56
      };
57

  
58 52
  private static final int[] FACE_COLORS = new int[] { COLOR_WHITE };
59 53
  private static final float DX = 0.10f;
60 54
  private static final float DY = 0.25f;
......
79 73
  private ScrambleState[] mStates;
80 74
  private Static4D[] mQuats;
81 75
  private float[][] mCuts;
82
  private boolean[][] mLayerRotatable;
83 76
  private int[] mBasicAngle;
84 77
  private ObjectSticker[] mStickers;
85 78
  private float[][] mPositions;
86
  private Movement mMovement;
87 79

  
88 80
///////////////////////////////////////////////////////////////////////////////////////////////////
89 81

  
......
586 578

  
587 579
///////////////////////////////////////////////////////////////////////////////////////////////////
588 580

  
589
  private void getLayerRotatable(int[] numLayers)
581
  public boolean[][] getLayerRotatable(int[] numLayers)
590 582
    {
591
    if( mLayerRotatable==null )
592
      {
593
      int numAxis = ROT_AXIS.length;
594
      mLayerRotatable = new boolean[numAxis][];
583
    int numAxis = ROT_AXIS.length;
584
    boolean[][] layerRotatable = new boolean[numAxis][];
595 585

  
596
      for(int i=0; i<numAxis; i++)
597
        {
598
        mLayerRotatable[i] = new boolean[numLayers[i]];
599
        for(int j=0; j<numLayers[i]; j++) mLayerRotatable[i][j] = true;
600
        }
586
    for(int i=0; i<numAxis; i++)
587
      {
588
      layerRotatable[i] = new boolean[numLayers[i]];
589
      for(int j=0; j<numLayers[i]; j++) layerRotatable[i][j] = true;
601 590
      }
591

  
592
    return layerRotatable;
602 593
    }
603 594

  
604 595
///////////////////////////////////////////////////////////////////////////////////////////////////
605 596

  
606
  protected int getSolvedFunctionIndex()
597
  public int getMovementType()
598
    {
599
    return MOVEMENT_HEXAHEDRON;
600
    }
601

  
602
///////////////////////////////////////////////////////////////////////////////////////////////////
603

  
604
  public int getMovementSplit()
605
    {
606
    return TYPE_NOT_SPLIT;
607
    }
608

  
609
///////////////////////////////////////////////////////////////////////////////////////////////////
610

  
611
  public int[][][] getEnabled()
612
    {
613
    return new int[][][]
614
      {
615
          {{1,2}},{{1,2}},{{0,2}},{{0,2}},{{0,1}},{{0,1}},
616
      };
617
    }
618

  
619
///////////////////////////////////////////////////////////////////////////////////////////////////
620

  
621
  public float[] getDist3D(int[] numLayers)
622
    {
623
    return null;
624
    }
625

  
626
///////////////////////////////////////////////////////////////////////////////////////////////////
627

  
628
  public int getSolvedFunctionIndex()
607 629
    {
608 630
    return 0;
609 631
    }
......
623 645
    return ROT_AXIS;
624 646
    }
625 647

  
626
///////////////////////////////////////////////////////////////////////////////////////////////////
627

  
628
  public Movement getMovement()
629
    {
630
    if( mMovement==null )
631
      {
632
      int[] numLayers = getNumLayers();
633
      if( mCuts==null ) getCuts(numLayers);
634
      getLayerRotatable(numLayers);
635
      mMovement = new Movement6(ROT_AXIS,mCuts,mLayerRotatable,numLayers[0],TYPE_NOT_SPLIT,ENABLED);
636
      }
637
    return mMovement;
638
    }
639

  
640 648
///////////////////////////////////////////////////////////////////////////////////////////////////
641 649

  
642 650
  public int[] getBasicAngle()
......
682 690
    return R.string.mirr3_inventor;
683 691
    }
684 692

  
693
///////////////////////////////////////////////////////////////////////////////////////////////////
694

  
695
  public int getYearOfInvention(int[] numLayers)
696
    {
697
    switch(numLayers[0])
698
      {
699
      case 2: return 2007;
700
      case 3: return 2006;
701
      }
702
    return 2006;
703
    }
704

  
685 705
///////////////////////////////////////////////////////////////////////////////////////////////////
686 706

  
687 707
  public int getComplexity(int[] numLayers)

Also available in: Unified diff