/// <summary> /// Comprueba si el estado actual del juego consiste o no de una solución. Se comprueba cada vez que realizamos un movimiento. /// Actualizaos el score y comrobar si todos los colores de las esfera superiores son iguales a las de las inferiores. /// Si hay solución reproduce un sonido de aplausos usando altavozAplausos. Si el minijuego de Lines también ha sido completado /// los aplausos hacen un "fade out" disminuyendo su intensidad a medida que pasamos a un fundido a negro y abandonamos la sala /// </summary> private void checkSolution() { movementsMade++; if (movementsMade > 9) { GameInfo.IncreaseSecondScore(-1); } bool isSolution = true; for (int i = 0; i < bottomSpheres.Length; i++) { if (bottomSpheres[i].gameObject.GetComponent <Renderer>().material.color != upperSpheres[i].gameObject.GetComponent <Renderer>().material.color) { isSolution = false; } } if (isSolution) { completed = true; if (PanelsManagerScript.lineGameIsComplete()) { altavozAplausos.GetComponent <FinalSoundScript>().playClapsSound(); GameInfo.CompleteSecondGame(); } else { altavozAplausos.GetComponent <FinalSoundScript>().playClapsSoundWithoutFade(); } } }
/// <summary> /// Tras cada movimiento detecta si se ha completado el minijuego. Si es así reproduce un sondio de aplausos /// usando altavozAplausos, pone el bool de completeLineGame a true, y si el minijuego de esferas también ha sido completado /// finaliza este nivel o sala llamando a GameInfo.CompleteSecondGame(); /// </summary> private static void checkSolution() { if (panelsLocation[1][0] == 1 && panelsLocation[1][1] == 1 && panelsLocation[1][2] == 1) { completeLineGame = true; if (SphereManagerScript.sphereGamesIsComplete()) { altavozAplausos.GetComponent <FinalSoundScript>().playClapsSound(); GameInfo.CompleteSecondGame(); } else { altavozAplausos.GetComponent <FinalSoundScript>().playClapsSoundWithoutFade(); } } }