private IEnumerator ScrambleCube() { gc.SetGuideNum(Guides.BLANK); playPauseButton.GetComponent <Button>().interactable = nextButton.GetComponent <Button>().interactable = lastButton.GetComponent <Button>().interactable = slowerButton.GetComponent <Button>().interactable = fasterButton.GetComponent <Button>().interactable = false; Pair <string, bool>[] moves = CubeSolver.Scramble(); period = SCRAMBLE_PERIOD; for (int i = 0; i < moves.Length; i++) { Pair <string, bool> move = moves[i]; UpdateScrambleFPR((double)i / moves.Length); ct.finishedRotation = false; ct.Rotate(move); yield return(new WaitUntil(() => ct.finishedRotation)); } StartCoroutine(SolveCube()); }