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