/// <summary> /// Se llama cuando pasamos la mirada por encima de este panel. /// Realiza una petición a <c>PanelManagerScript</c> para desplazar este panel a un hueco vacío. /// Siempre y cuando el juego no haya sido completado y haya un hueco pegado a este panel (arriba, abajo, izquierda, o derecha) /// </summary> public void moveThisPanel() { int row = (int)transform.localPosition[1]; int col = (int)transform.localPosition[0]; if (PanelsManagerScript.lineGameIsComplete() == false) { if (PanelsManagerScript.movePanel(row, col, false)) { int[] move = PanelsManagerScript.getLastMovement(); transform.localPosition = new Vector3(move[1], move[0], transform.localPosition.z); audio.Play(); } } }
/// <summary> /// Cuando pasamos el puntero por encima del panel, se llamam a este método. Envía una petición a /// <c>PanelsManagerScript</c> para moverse a un hueco cercano, si existiese, dentro del juego. /// Si consigue moverse reproduce un sonido y actualiza el color de su linea dependiendo si su nueva posición /// es en la línea central o no /// </summary> public void moveThisPanel() { int row = (int)transform.localPosition[1]; int col = (int)transform.localPosition[0]; if (PanelsManagerScript.lineGameIsComplete() == false) { if (PanelsManagerScript.movePanel(row, col, true)) { int[] move = PanelsManagerScript.getLastMovement(); transform.localPosition = new Vector3(move[1], move[0], transform.localPosition.z); audio.Play(); if (move[0] == 1) { transform.GetChild(0).gameObject.GetComponent <Renderer>().material.color = Color.white; } else { transform.GetChild(0).gameObject.GetComponent <Renderer>().material.color = originalColor; } } } }