/// <summary> /// Choose a random powerup. /// </summary> /// <returns>A random powerup</returns> public static PowerUp ChooseRandomPowerUp(int width, int height, Data.Setup s) { PowerUp powerUp; Random random = new Random(); double x = random.Next(width / 4, width / 4 * 3); double y = random.Next(height / 5, height / 5 * 4); switch (random.Next(5)) { case 0: powerUp = new HealthPowerUp(x, y, 40, s.HealingShield); break; case 1: powerUp = new SpeedPowerUp(x, y, 40, s.SpeedBallPercent); break; case 2: powerUp = new ReversePowerUp(x, y, 40, s.ReverseTime); break; case 3: powerUp = new MultiBallPowerUp(x, y, 40); break; default: powerUp = new BombPowerUp(x, y, 40, s.DamageBomb); break; } return(powerUp); }
public PowerUp GetPowerUp() { if (powerUpID == PowerUpList.RANDOM) { Array values = Enum.GetValues(typeof(PowerUpList)); powerUpID = (PowerUpList)UnityEngine.Random.Range(0, values.Length - 1); } PowerUp chosenPowerUp = null; // Add new Powerups here (pt 2 of 2) switch (powerUpID) { case PowerUpList.RocketBoost: //Debug.Log("Chose the Debug PowerUp!"); chosenPowerUp = new RocketBoost(); //print("Chosen Power null? : " + (chosenPowerUp == null)); break; case PowerUpList.Brake: chosenPowerUp = new BrakePowerUp(); break; case PowerUpList.MoonJump: chosenPowerUp = new MoonJump(); break; case PowerUpList.Bomb: chosenPowerUp = new BombPowerUp(); break; case PowerUpList.GravityVortex: chosenPowerUp = new GravityVortexPowerUp(); break; } gameObject.GetComponent <MeshRenderer>().enabled = false; gameObject.GetComponent <Collider>().enabled = false; spawned = false; turnsInactive = 0; return(chosenPowerUp); }