Esempio n. 1
0
    public void SpawnEntities()
    {
        float dist = Vector3.Distance(Player.transform.position, Map.transform.position);

        int bandnum = 0;

        for (int i = 0; i < SpawnBands.Count; i++)
        {
            float boundary = SpawnBands[i];
            if (dist > boundary)
            {
                bandnum = i;
            }
            else
            {
                break;
            }
        }

        var spawnInfo = SpawnRates[SpawnBands[bandnum]];

        foreach (var spawnItem in spawnInfo)
        {
            float chance = Random.Range(0, 1.0f);
            if (chance < spawnItem.SpawnChance)
            {
                var randomPoint = Random.insideUnitCircle;
                var point       = new Vector3(randomPoint.x, 0, randomPoint.y);
                point.Normalize();
                point *= SpawnRadius;


                Map.SpawnPrefab(spawnItem.PrefabToSpawn, point + Player.transform.position, bandnum);
            }
        }
    }