public void StartUp(GameObject prefab, GameObject ball, GameObject canvas) { //set data for all classes this.ball = ball; this.prefab = prefab; //makes the constructor run once to add themself to the dictonary PowerUpBase power1 = new PowerUp_Slomo(); PowerUpBase power2 = new PowerUp_Speed(); power3 = new PowerUp_Flashbang(canvas); //For every int in powerupsatatime it will spawn on power up in the scene. for (int i = 0; i < powerupsatatime; i++) { //This random int will be between all available powerup indexes int typeIndex = Random.Range(0, powerUpList.Count); if (powerUpList.TryGetValue(typeIndex, out value)) { value.Spawn(prefab, typeIndex); } } }
public void AddPowerUp(PowerUpType type) { switch (type) { case PowerUpType.Speed: powerUpSpeed = new PowerUp_Speed(); StartCoroutine(powerUpSpeed.ApplyPowerUp(player)); break; case PowerUpType.Shield: powerUpShield = new PowerUp_Shield(); StartCoroutine(powerUpShield.ApplyPowerUp(shield, player)); break; case PowerUpType.Fireball: Debug.Log("Add Fireballs"); powerUpFireball = new PowerUp_Fireball(); powerUpFireball.ApplyPowerUp(player); break; default: break; } }