private void pintarCasillaApuntada() { RaycastHit hit; tablero.pintarCasillas(); if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, weaponRange)) { if (hit.collider.CompareTag("Casilla")) { if (hit.collider.GetComponent <Casilla>().existePieza()) { Pieza pieza = hit.collider.GetComponent <Casilla>().getPieza(); if (pieza.GetComponent <Pieza>().esBlanca) { hit.collider.GetComponent <Renderer>().material.color = new Color(0.1f, 0.7f, 0.1f); //Debug.Log(hit2.collider); //Debug.Log(hit2.collider.GetComponent<Casilla>().getx()); } } else { hit.collider.GetComponent <Renderer>().material.color = new Color(0.8f, 0, 0); } } } }
/** Coloca la pieza pasada en su posicion en el tablero * Tratar como si el tablero fuese en 2D */ public void moverPieza(Pieza pieza, int posX, int posY) { //Obtener la altura del tablero float altura = casillas[posX, posY].transform.position.y + 0.5f; //Colocar la pieza visualmente pieza.transform.position = new Vector3(casillas[posX, posY].transform.position.x, altura, casillas[posX, posY].transform.position.z); //Colocar pieza en clase Casilla casillas[posX, posY].GetComponent <Casilla>().setPieza(pieza); //Quitar pieza de la casilla anterior int posxAnterior = pieza.posx; int posyAnterior = pieza.posy; casillas[posxAnterior, posyAnterior].setPieza(null); //Actualizar la posicion xy de la pieza pieza.GetComponent <Pieza>().setx(posX); pieza.GetComponent <Pieza>().sety(posY); }