Ejemplo n.º 1
0
    public void ReversePreviousRotation()
    {
        switch (m_lastRotation)
        {
        case CubeState.RotationActions.LEFT:
            RotateRight();
            break;

        case CubeState.RotationActions.RIGHT:
            RotateLeft();
            break;

        case CubeState.RotationActions.UP:
            RotateDown();
            break;

        case CubeState.RotationActions.DOWN:
            RotateUp();
            break;

        case CubeState.RotationActions.CLOCKWISE:
            RotateAntiClockwise();
            break;

        case CubeState.RotationActions.ANTI_CLOCKWISE:
            RotateClockwise();
            break;
        }

        m_lastRotation = CubeState.RotationActions.NONE;
    }
Ejemplo n.º 2
0
    FaceState GetNextRequiredFace(CubeState.RotationActions move)
    {
        FaceStates faceStates  = m_cubeOrientation.GetFaceStates();
        FaceState  returnValue = null;

        switch (move)
        {
        case CubeState.RotationActions.UP:
            returnValue = faceStates.GetFaceState(CubeState.Faces.BOTTOM);
            break;

        case CubeState.RotationActions.DOWN:
            returnValue = faceStates.GetFaceState(CubeState.Faces.TOP);
            break;

        case CubeState.RotationActions.LEFT:
            returnValue = faceStates.GetFaceState(CubeState.Faces.RIGHT);
            break;

        case CubeState.RotationActions.RIGHT:
            returnValue = faceStates.GetFaceState(CubeState.Faces.LEFT);
            break;
        }

        Debug.Log("GetNextRequiredFace = " + returnValue);

        return(returnValue);
    }
Ejemplo n.º 3
0
    CubeState.RotationActions GetNextMoveInSequence()
    {
        CubeState.RotationActions unflipped = m_sequence[m_sequenceType, m_sequencePosition];
        CubeState.RotationActions xflipped;
        if (m_flipSequenceHorizontally)
        {
            xflipped = CubeState.m_flipHorizontally[(int)unflipped];
        }
        else
        {
            xflipped = unflipped;
        }

        CubeState.RotationActions yflipped;
        if (m_flipSequenceVertically)
        {
            yflipped = CubeState.m_flipVertically[(int)xflipped];
        }
        else
        {
            yflipped = xflipped;
        }

        if (++m_sequencePosition >= 6)
        {
            m_sequencePosition = 0;
        }

        return(yflipped);
    }
Ejemplo n.º 4
0
 public void RotateAntiClockwise()
 {
     if (!m_isRotating && !m_rotationBlocked)
     {
         Rotate90Degrees(1, Axis.Z, 0.3f);
         m_cubeState.DoRotation(CubeState.RotationActions.ANTI_CLOCKWISE);
         m_lastRotation = CubeState.RotationActions.ANTI_CLOCKWISE;
     }
 }
Ejemplo n.º 5
0
 public void RotateDown()
 {
     if (!m_isRotating && !m_rotationBlocked)
     {
         Rotate90Degrees(-1, Axis.X, 0.3f);
         m_cubeState.DoRotation(CubeState.RotationActions.DOWN);
         m_lastRotation = CubeState.RotationActions.DOWN;
     }
 }
Ejemplo n.º 6
0
 public void RotateUp()
 {
     if (!m_isRotating && !m_rotationBlocked)
     {
         Rotate90Degrees(1, Axis.X, 0.3f);
         m_cubeState.DoRotation(CubeState.RotationActions.UP);
         m_lastRotation = CubeState.RotationActions.UP;
     }
 }
Ejemplo n.º 7
0
 public void RotateRight()
 {
     if (!m_isRotating && !m_rotationBlocked)
     {
         Rotate90Degrees(-1, Axis.Y, 0.3f);
         m_cubeState.DoRotation(CubeState.RotationActions.RIGHT);
         m_lastRotation = CubeState.RotationActions.RIGHT;
     }
 }
Ejemplo n.º 8
0
 public void RotateLeft()
 {
     if (!m_isRotating && !m_rotationBlocked)
     {
         Rotate90Degrees(1, Axis.Y, 0.3f);
         m_cubeState.DoRotation(CubeState.RotationActions.LEFT);
         m_lastRotation = CubeState.RotationActions.LEFT;
     }
 }
Ejemplo n.º 9
0
    // Use this for initialization
    void Start()
    {
        m_isRotating      = false;
        m_rotationBlocked = false;

        m_lastRotation = CubeState.RotationActions.NONE;

        TouchSwipeDetector.Instance.StartListening("SWIPE_LEFT", RotateLeft);
        TouchSwipeDetector.Instance.StartListening("SWIPE_RIGHT", RotateRight);
        TouchSwipeDetector.Instance.StartListening("SWIPE_UP", RotateUp);
        TouchSwipeDetector.Instance.StartListening("SWIPE_DOWN", RotateDown);
        TouchSwipeDetector.Instance.StartListening("SWIPE_CLOCKWISE", RotateClockwise);
        TouchSwipeDetector.Instance.StartListening("SWIPE_ANTICLOCKWISE", RotateAntiClockwise);

        ResetRotation();

        m_audioSource = GetComponent <AudioSource>();
    }