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; }
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); }
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); }
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; } }
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; } }
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; } }
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; } }
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; } }
// 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>(); }