Ejemplo n.º 1
0
    string generateRandomEnemy()
    {
        float    rate = Random.Range(0.0f, 1.0f);
        MONSTERS m    = generateMonsterBasedOnPercentage(rate);

        return(monstersToSpawn.Length == 0 ? convertEnumToString(0) : convertEnumToString(m));
    }
Ejemplo n.º 2
0
    string convertEnumToString(MONSTERS m)
    {
        switch (m)
        {
        case MONSTERS.MUSHROOM:
            return(Pool.MUSHROOM);

        case MONSTERS.ZOMBIE:
            return(Pool.ZOMBIE);

        case MONSTERS.RANGED_SLIME:
            return(Pool.RANGED_SLIME);

        default:
            return(Pool.MUSHROOM);
        }
    }
Ejemplo n.º 3
0
    MONSTERS generateMonsterBasedOnPercentage(float rate)
    {
        MONSTERS chosenMonster     = monstersToSpawn[0].tag;
        float    accumulatedChance = accumulatedMonsterChances();
        float    percentage        = 0;

        foreach (Monsters m in monstersToSpawn)
        {
            percentage += m.percentage / accumulatedChance;
            if (percentage > rate)
            {
                chosenMonster = m.tag;
                break;
            }
        }

        return(chosenMonster);
    }