Beispiel #1
0
    //Rellena la barra de progreso del logro según el porcentaje de requisitos cumplidos
    private void RellenarBarraProgreso(LogroComponent componenteAux)
    {
        Image fillBarraProgreso;

        int idLogro = componenteAux.id;

        fillBarraProgreso = GameObject.Find("Fill" + idLogro).GetComponent <Image>();

        string nombreRequisito = LogrosManager.GetNombreRequisito(idLogro);
        float  valorRequisito;

        //Si aun no hay ningun valor almacenado para el requisito del logro, se obtiene el valor
        // por defecto, que en el caso de los dias seguidos es 1 (porque cuenta el primer dia que abre la app)
        if (nombreRequisito.Equals("DiasSeguidos"))
        {
            valorRequisito = PlayerPrefs.GetFloat(nombreRequisito, 1);
        }
        else
        {
            valorRequisito = PlayerPrefs.GetFloat(nombreRequisito, 0);
        }

        //Calcular la proporcion con la que hay que rellenar la barra
        float requisito  = componenteAux.requisitoBase * componenteAux.nivel * componenteAux.factor;
        float fillAmount = (float)valorRequisito / requisito;

        fillBarraProgreso.fillAmount = fillAmount;

        //Debug.Log("Id: "+idLogro+", "+nombreRequisito+": "+valorRequisito+"/"+requisito);
    }
Beispiel #2
0
    //Actualiza en la UI los requisitos para un logro y cuantos se han cumplido
    private void ActualizarRequisito(LogroComponent componenteAux)
    {
        int idLogro = componenteAux.id;

        string nombreRequisito = LogrosManager.GetNombreRequisito(componenteAux.id);
        float  valorRequisito;

        if (nombreRequisito.Equals("DiasSeguidos"))
        {
            valorRequisito = PlayerPrefs.GetFloat(nombreRequisito, 1);
        }
        else
        {
            valorRequisito = PlayerPrefs.GetFloat(nombreRequisito, 0);
        }
        //El valor de los requisitos depende del valor base, el nivel del logro y un factor de multiplicacion
        float requisito = componenteAux.requisitoBase * componenteAux.nivel * componenteAux.factor;

        GameObject.Find("Requisito" + idLogro).GetComponent <Text>().text = (Mathf.Round(valorRequisito * 10f) / 10f) + "/" + (int)requisito;
    }