Exemplo n.º 1
0
    //------------------------------------------------------------------------------------------------------------------

    /*
     * 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();
        }
    }
Exemplo n.º 2
0
    //------------------------------------------------------------------------------------------------------------------

    /*
     * 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);
    }