private void DoFaceMove(CubeFace face, CubeMoveDirection direction, int i, int j) { if (face != null && i < faceMax) { var faceValue = face.GetFaceValue(i, 0); if (direction == CubeMoveDirection.Right) { face.SetFaceValue(i, 0, face.GetFaceValue(faceMax, i)); face.SetFaceValue(faceMax, i, face.GetFaceValue(j, faceMax)); face.SetFaceValue(j, faceMax, face.GetFaceValue(0, j)); face.SetFaceValue(0, j, faceValue); } else { face.SetFaceValue(i, 0, face.GetFaceValue(0, j)); face.SetFaceValue(0, j, face.GetFaceValue(j, faceMax)); face.SetFaceValue(j, faceMax, face.GetFaceValue(faceMax, i)); face.SetFaceValue(faceMax, i, faceValue); } } return; }
public CubeMove(CubePlane plane, int level, CubeMoveDirection direction) { this.Plane = plane; this.Level = level; this.Direction = direction; }