void SpawnPowerups() { chanceOfSpawningPowerup += Time.deltaTime / 100f; chanceOfSpawningPowerup = Mathf.Clamp(chanceOfSpawningPowerup, 0, 1f); float powerupToSpawn = Random.Range(0f, 1f); if (powerupToSpawn <= chanceOfSpawningPowerup) { //spawn powerup powerupToSpawn = Random.Range(0f, 1f); GameObject objectToSpawn = null; Powerups powerupType = Powerups.None; float powerupSpeedMin = 0f; float powerupSpeedMax = 0f; float powerupMassMin = 0f; float powerupMassMax = 0f; if (powerupToSpawn < 0.9f) { // spawn missile objectToSpawn = missile; powerupType = Powerups.Missile; powerupSpeedMin = 100f; powerupSpeedMax = 120f; powerupMassMin = 50f; powerupMassMax = 100f; } /*else if (powerupToSpawn < 0.8f) * { * // spawn star * objectToSpawn = star; * powerupType = Powerups.Star; * * powerupSpeedMin = 1f; * powerupSpeedMax = 5f; * powerupMassMin = 1f; * powerupMassMax = 5f; * }*/ else { // spawn asteroid objectToSpawn = asteroid; powerupType = Powerups.Asteroid; powerupSpeedMin = 50f; powerupSpeedMax = 100f; powerupMassMin = 20f; powerupMassMax = 40f; } // Instantiate item with the random x and y parameters Vector3 spawnPosition = GetSpawnPosition(); GameObject item = Instantiate(objectToSpawn, spawnPosition, Quaternion.identity); PowerupController powerup = item.GetComponent <PowerupController>(); powerup.Setup(0, GetSpawnDirection(spawnPosition), Random.Range(powerupSpeedMin, powerupSpeedMax), Random.Range(powerupMassMin, powerupMassMax)); powerup.SetPowerupType(powerupType); } }