// Inicializa o reinicia el gestor private void Initialize(uint rows, uint columns) { if (board == null) { throw new InvalidOperationException("The board reference is null"); } if (infoPanel == null) { throw new InvalidOperationException("The infoPanel reference is null"); } if (timeNumber == null) { throw new InvalidOperationException("The timeNumber reference is null"); } if (stepsNumber == null) { throw new InvalidOperationException("The stepsNumber reference is null"); } if (rowsInput == null) { throw new InvalidOperationException("The rowsInputText reference is null"); } if (columnsInput == null) { throw new InvalidOperationException("The columnsInputText reference is null"); } this.rows = rows; this.columns = columns; rowsInput.text = rows.ToString(); columnsInput.text = columns.ToString(); // Se crea el puzle internamente puzzle = new SlidingPuzzle(rows, columns); // Se crea el resolutor (que puede admitir varias estrategias) // Inicializar todo el tablero de bloques board.Initialize(this, puzzle); //Inicializar tanque tank.Initialize(board); CleanInfo(); // Podríamos asumir que tras cada inicialización o reinicio, el puzle está ordenado y se puede mostrar todo el panel de información UpdateInfo(); flag.transform.position = new Vector3(-8000, flag.transform.position.y, -8000); }
// Inicializa o reinicia el gestor de la escena del puzle de bloques deslizantes private void Initialize(uint rows, uint columns) { // Lanza excepciones si el objeto no ha sido inicializado con gameobjects en todos sus campos clave if (board == null) { throw new InvalidOperationException("The board reference is null"); } if (infoPanel == null) { throw new InvalidOperationException("The infoPanel reference is null"); } if (metricsPanel == null) { throw new InvalidOperationException("The metricsPanel reference is null"); } if (timeNumber == null) { throw new InvalidOperationException("The timeNumber reference is null"); } if (stepsNumber == null) { throw new InvalidOperationException("The stepsNumber reference is null"); } if (rowsInput == null) { throw new InvalidOperationException("The rowsInputText reference is null"); } if (columnsInput == null) { throw new InvalidOperationException("The columnsInputText reference is null"); } this.rows = rows; this.columns = columns; rowsInput.text = rows.ToString(); columnsInput.text = columns.ToString(); // Se crea el puzle internamente puzzle = new SlidingPuzzle(rows, columns); // Inicializar todo el tablero de bloques board.Initialize(this, puzzle); CleanInfoAndMetrics(); // Podríamos asumir que tras cada inicialización o reinicio, el puzle está ordenado y se puede mostrar todo el panel de información UpdateHUD(); }