public Powerup CreatePowerup(PowerupType powerupType, Vector2 position)
{
Powerup powerup;
uint id = NextID();
switch (powerupType)
{
case PowerupType.Fireball:
powerup = new FireballPowerup(id, content, position);
break;
case PowerupType.Frostball:
powerup = new FrostballPowerup(id, content, position);
break;
case PowerupType.BubbleBeam:
powerup = new BubbleBeamPowerup(id, content, position);
break;
case PowerupType.Freezewave:
powerup = new FreezewavePowerup(id, content, position);
break;
case PowerupType.Blades:
powerup = new BladesPowerup(id, content, position);
break;
case PowerupType.EightBallShield: //added EightBallShield
powerup = new EightBallShieldPowerup(id, content, position);
break;
case PowerupType.TriShield:
powerup = new TriShieldPowerup(id, content, position);
break;
case PowerupType.DroneWave:
powerup = new DroneWavePowerup(id, content, position);
break;
case PowerupType.Birdcrap:
powerup = new BirdcrapPowerup(id, content, position);
break;
case PowerupType.EnergyBlast:
powerup = new EnergyBlastPowerup(id, content, position);
break;
case PowerupType.Bomb:
powerup = new BombPowerUp(id, content, position);
break;
case PowerupType.Ale:
powerup = new AlePowerup(id, content, position);
break;
case PowerupType.ShotgunPowerup:
powerup = new ShotgunPowerup(id, content, position);
break;
case PowerupType.MeteorPowerup:
powerup = new MeteorPowerup(id, content, position);
break;
case PowerupType.Railgun:
powerup = new Railgun(id, content, position);
break;
case PowerupType.HomingMissiles:
powerup = new HomingMissilesPowerup(id, content, position);
break;
default:
throw new NotImplementedException("The powerup type " + Enum.GetName(typeof(ProjectileType), powerupType) + " is not supported");
}
powerup.ObjectType = ObjectType.Powerup;
QueueGameObjectForCreation(powerup);
return powerup;
}