//------------------------------------------------------------------------------------------------------------------ /* * METODO QUE SE EJECUTA CUANDO SE PULSA SOBRE UN ASPECTO */ public void bApariencia() { //Comprobar si la apariencia esta bloqueada if (bloqueado) { if (infoPersistente.getEnergia() >= precioApariencia) { //Iniciamos proceso de compra solicitarComprar(); } else { //Mostrar mensaje saldo insuficiente string texto = "No tienes suficiente energia para comprar esta apariencia"; ventanaEmergente.GetComponent <VentanaInformacion>().mostrarInfo(texto, "Aceptar"); } } else { //Guardar la interfaz activa refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("aparienciaActiva").SetValueAsync(nombreAspecto); infoPersistente.setAparienciaActiva(nombreAspecto); //Establecer nueva apariencia en la imagen animatorImagen1.SetTrigger(nombreAspecto); animatorImagen2.SetTrigger(nombreAspecto); //Desmarcar todos los objetos for (int i = 0; i < apariencias.Length; i++) { apariencias[i].GetComponent <Apariencia>().desmarcar(); } //Marcar objeto como activo marcar(); } }
//------------------------------------------------------------------------------------------------------------------ /* * METODO PARA MOSTRAR EL PANEL FINAL DE LA PARTIDA */ public async System.Threading.Tasks.Task mostrarAsync(string estado, int energiaGanada) { //Desconectarnos de la sala de juego creada if (PhotonNetwork.CurrentRoom != null) { PhotonNetwork.LeaveRoom(); } //Obtener referencias refBD = GameObject.Find("ReferenciaBD").GetComponent <ReferenciaBaseDatos>(); infoPersistente = GameObject.Find("InfoPersistente").GetComponent <InfoPersistente>(); //Obtener mi personaje si no lo he obtenido previamente if (miPersonaje == null) { miPersonaje = GameObject.Find("miPersonaje"); } //Bloquear el personaje para no poder interactuar mas con el if (miPersonaje != null) { miPersonaje.GetComponent <EstadoJugador>().setEstado(0); } //Establecer la energia y titulo en funcion de si hemos ganado, perdido, empatado o se ha desconectado el oponente int energia = 0; switch (estado) { case "ganado": energia = energiaGanada + 30; //Sumar el bonus panelBonus.gameObject.SetActive(true); txtTitulo.text = "Has ganado"; break; case "perdido": energia = energiaGanada; panelBonus.gameObject.SetActive(false); txtTitulo.text = "Has perdido"; break; case "empatado": energia = energiaGanada; panelBonus.gameObject.SetActive(false); txtTitulo.text = "Empate"; break; case "desconectado": panelBonus.gameObject.SetActive(true); energia = energiaGanada + 30; //Sumar el bonus txtTitulo.text = "El oponente ha abandonado la partida"; break; } //Mostrar la energia obtenida txtEnergiaGanada.text = ("+" + energiaGanada); //Sumar energia al nodo de firebase await refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("energia").SetValueAsync("" + (infoPersistente.getEnergia() + energia)); //Establecer los datos a null await refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/peticion").SetValueAsync("null"); await refBD.getBaseDatos().GetReference("usuarios").Child(refBD.getUsuario().UserId).Child("batalla/respuesta").SetValueAsync("null"); //Cuando sumamos la energia a la base de datos mostramos el propio panel informativo panelContenido.gameObject.SetActive(true); canvasPantalla.gameObject.SetActive(false); }