public void Click() { bool cambio = PuzzleManager.Instance.Bloqueado(); //Si puedo cambiar el estado de la casilla, lo cambio if (cambio && (int)estado < 3) { estadoAnterior = estado; estado = (eCasilla)(((int)estado + 1) % 3); spriteCasilla.sprite = Imagenes[(int)estado]; } else if (!cambio && !Ocupada && estado != eCasilla.bloqueado) { //Esta será la casilla a la que queremos ir con el coche seleccionado //Ponemos la flecha en la casilla PuzzleManager.Instance.Flecha(this.transform); //Avisamos al Puzzle manager de que queremos ir alli. PuzzleManager.Instance.GoTo(Posicion); } //Avisamos al manager de que ha cambiado //Este método devuelve un int que representa que coche esta seleccionado PuzzleManager.Instance.Seleccionado(Posicion, estado); //Ponemos la variable de Ocupado a true si hay un coche o si es una roca if ((int)estado >= 2) { Ocupada = true; } }
public bool avanza(int coche) { if (Ocupada) { return(false); } estadoAnterior = estado; estado = (eCasilla)(coche + 3); spriteCasilla.sprite = Imagenes[(int)estado]; Ocupada = true; return(true); }
public int Seleccionado(dim Posicion, eCasilla estado) { matriz[(int)Posicion.x, (int)Posicion.y] = estado; if ((int)estado > 2) //Es uno de los coches { if (Seleccion_ == (Seleccion)((int)estado - 2)) { Seleccion_ = Seleccion.none; } else { Seleccion_ = (Seleccion)((int)estado - 2); pSeleccion_.Set(Posicion.x, Posicion.y); } } else if (estado == eCasilla.bloqueado && Seleccion_ != Seleccion.none) { Seleccion_ = Seleccion.none; } Fondo.color = colores[(int)Seleccion_]; return((int)(Seleccion_) - 1); }
public void vuelve() { estado = estadoAnterior; spriteCasilla.sprite = Imagenes[(int)estado]; Ocupada = false; }