// Actualiza la información del panel, mostrándolo si corresponde private void UpdateInfo() { // Según el puzle esté en orden o no, enseño el panel de información o no if (puzzle.IsInDefaultOrder()) { timeNumber.text = (time * 1000).ToString("0.0"); // Lo enseñamos en milisegundos y sólo con un decimal stepsNumber.text = steps.ToString(); infoPanel.gameObject.SetActive(true); } else { infoPanel.gameObject.SetActive(false); } }
// Reinicia el puzle entero, recreándolo con las nuevas dimensiones si han cambiado public void ResetPuzzle() { // Tampoco debería hacer nada si han fallado las conversiones a uint... if (rowsInput.text != null && columnsInput.text != null && getTank().ready()) { uint newRows = Convert.ToUInt32(rowsInput.text); uint newColumns = Convert.ToUInt32(columnsInput.text); // Si el usuario no ha cambiado las dimensiones y está todo ordenado, no necesito resetearlo if (newRows != rows || newColumns != columns || !puzzle.IsInDefaultOrder()) { Initialize(newRows, newColumns); } else { time = 0.0f; steps = 0; UpdateInfo(); } } }