private void rotz(bool _dirPos) { GameObject[, ,] newCubeState = new GameObject[2, 2, 2]; for (int k = 0; k < 2; ++k) { for (int i = 0; i < 2; ++i) { newCubeState[k, i, 1] = mRubiksCube[k, i, 1]; mRotatingObjects.Add(mRubiksCube[k, i, 0]); spheresegscript sss = mRubiksCube[k, i, 0].transform.Find("orientation").GetComponent <spheresegscript>(); sss.rot(Axis.Z, _dirPos); } } if (!_dirPos) { newCubeState[0, 0, 0] = mRubiksCube[1, 0, 0]; newCubeState[1, 0, 0] = mRubiksCube[1, 1, 0]; newCubeState[1, 1, 0] = mRubiksCube[0, 1, 0]; newCubeState[0, 1, 0] = mRubiksCube[0, 0, 0]; } else { newCubeState[1, 0, 0] = mRubiksCube[0, 0, 0]; newCubeState[1, 1, 0] = mRubiksCube[1, 0, 0]; newCubeState[0, 1, 0] = mRubiksCube[1, 1, 0]; newCubeState[0, 0, 0] = mRubiksCube[0, 1, 0]; } mRubiksCube = newCubeState; }
private void resetCube() { int counter = 0; for (uint k = 0; k < 2; ++k) { for (uint i = 0; i < 2; ++i) { for (uint l = 0; l < 2; ++l) { mRubiksCube[k, i, l] = mInitialCube[k, i, l]; mRubiksCube[k, i, l].transform.rotation = quarters[counter].transform.rotation; mRubiksCube[k, i, l].transform.position = quarters[counter++].transform.position; spheresegscript sss = mRubiksCube[k, i, l].transform.Find("orientation").GetComponent <spheresegscript>(); int ssid = getSSID(k, i, l); int orientation = ssid < 5 ? 1 : 3; sss.setSpheresegInfo(orientation, ssid); } } } mCommandQueue.Clear(); mRotatingObjects.Clear(); mAngleAcc = 0; mCurrAxis = Vector3.zero; mShuffleQueue.Clear(); }
void Awake() { mAngleAcc = 0; mRotatingObjects = new List <GameObject>(); mCurrAxis = Vector3.zero; mCommandQueue = new List <KeyValuePair <Axis, bool> >(); mShuffleQueue = new List <KeyValuePair <Axis, bool> >(); mRng = new System.Random(); mRubiksCube = new GameObject[2, 2, 2]; mInitialCube = new GameObject[2, 2, 2]; int counter = 0; for (uint k = 0; k < 2; ++k) { for (uint i = 0; i < 2; ++i) { for (uint l = 0; l < 2; ++l) { mRubiksCube[k, i, l] = (GameObject)Instantiate(quarters[counter++]); mInitialCube[k, i, l] = mRubiksCube[k, i, l]; spheresegscript sss = mRubiksCube[k, i, l].transform.Find("orientation").GetComponent <spheresegscript>(); int ssid = getSSID(k, i, l); int orientation = ssid < 5 ? 1 : 3; sss.setSpheresegInfo(orientation, ssid); sss.toggleText(); } } } }
public void toggleText() { for (uint k = 0; k < 2; ++k) { for (uint i = 0; i < 2; ++i) { for (uint l = 0; l < 2; ++l) { spheresegscript sss = mRubiksCube[k, i, l].transform.Find("orientation").GetComponent <spheresegscript>(); sss.toggleText(); } } } }