Esempio n. 1
0
 // 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);
     }
 }
Esempio n. 2
0
        // 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();
                }
            }
        }