void Awake() { for (int i = 0; i < 3 /*aww*/; i++) { cubeMatrix[i] = new CubeEntry[3][]; for (int j = 0; j < 3 /*aww*/; j++) { cubeMatrix[i][j] = new CubeEntry[3]; } } // generate initial cube matrix GenerateMatrix(); GenerateResetPositions(); solver = gameObject.GetComponent <CubeSolver>(); }
IEnumerator RotateCoroutine(CubeEntry cubeEntry, Vector3 target, float time) { float elapsed = 0f; Quaternion targetRot = Quaternion.Euler(target) * cubeEntry.cube.rotation; while (elapsed < time) { cubeEntry.cube.localRotation = Quaternion.Lerp( cubeEntry.cube.rotation, targetRot, Time.deltaTime * 30 ); elapsed += Time.deltaTime; yield return(null); } }
public CubeEntry(CubeEntry other) { this.name = other.name; this.cube = other.cube; }