Beispiel #1
0
    public void NormalLoot()
    {
        GameObject.Find("Analytics").GetComponent <AnaliticsEvents>().AnalyticsPremios("Premio Normal", "recivido");

        PremioSeleccionado         = EventSystem.current.currentSelectedGameObject.GetComponent <Button>();
        PremioSeleccionado.enabled = false;

        int calc_dropChance = Random.Range(0, 101);

        if (calc_dropChance > dropChance)
        {
            //no Loot
            return;
        }

        if (calc_dropChance <= dropChance)//looteamos
        {
            int itemWeight = 0;

            for (int i = 0; i < LootTableNormales.Count; i++)
            {
                itemWeight += LootTableNormales[i].Porcentaje;
            }

            int randomValue = Random.Range(0, itemWeight);

            for (int j = 0; j < LootTableNormales.Count; j++)
            {
                if (randomValue <= LootTableNormales[j].Porcentaje)
                {
                    Instantiate(LootTableNormales[j].objeto, Parent);
                    //sacamositem
                    switch (LootTableNormales[j].Nombre.ToString())
                    {
                    case "Vida":
                        //guardamos vida
                        Jugador.GanarVida(1);
                        ActualizarPremios();
                        break;

                    case "Daño":
                        //guardamos daño
                        PowerUpsGanados++;
                        ActualizarPremios();
                        break;

                    case "Monedas":
                        //guardamos monedas
                        datosGuardados.Monedas += Monedas;
                        break;

                    case "Default":
                        break;
                    }
                    return;
                }
                randomValue -= LootTableNormales[j].Porcentaje;
            }
        }

        Invoke("ActivarBoton", 5f);
    }
Beispiel #2
0
    void claculateLoot()
    {
        int calc_dropChance = Random.Range(0, 101);

        if (calc_dropChance > dropChance)
        {
            //no Loot
            return;
        }

        if (calc_dropChance <= dropChance)//looteamos
        {
            int itemWeight = 0;

            for (int i = 0; i < LootTable.Count; i++)
            {
                itemWeight += LootTable[i].Porcentaje;
            }

            int randomValue = Random.Range(0, itemWeight);

            for (int j = 0; j < LootTable.Count; j++)
            {
                if (randomValue <= LootTable[j].Porcentaje)
                {
                    //sacamositem
                    switch (LootTable[j].Nombre.ToString())
                    {
                    case "Vida":
                        Jugador.GanarVida(1);
                        Vector3 PosicionParticulasVida = new Vector3(transform.position.x, -24f, transform.position.z);
                        Instantiate(LootTable[j].Particulas, PosicionParticulasVida, Quaternion.identity);
                        Destruir();
                        break;

                    case "Daño":
                        /*//aumentamos daño
                         * Habilidades.DañoBasico += 50;
                         * //cambiamos color pajarita
                         * Habilidades.MaterialPajarita.color = ColorMasDaño;
                         *
                         * //Y activamos las partículas de "Prota super sayan"
                         * Habilidades.particulasSuperSayan_Cuerpo.SetActive(true);
                         * Habilidades.particulasSuperSayan_Pajarita.SetActive(true);*/

                        //indicamos que hemos conseguido mas daño
                        Vector3 PosicionParticulasDaño = new Vector3(transform.position.x, -54f, transform.position.z);
                        Instantiate(LootTable[j].Particulas, PosicionParticulasDaño, Quaternion.Euler(-90f, 0, 0));
                        //activamos tiempo daño extra
                        //Habilidades.DañoExtra = true;
                        Premios.PowerUpsGanados++;
                        Premios.ActualizarPremios();
                        Destruir();
                        break;

                    case "Default":
                        break;
                    }
                    return;
                }
                randomValue -= LootTable[j].Porcentaje;
            }
        }
    }