private PowerUpPackage SpawnPowerUpPackage() { // TODO: remove //PowerUp pu = null; //if (RandomMath.RandomBoolean()) // pu = new PowerUp(scene, PowerUpType.Magnetize); //else // pu = new PowerUp(scene, PowerUpType.Triple); //return ModelFactory.CreatePowerUpPackage(pu, this.Position); if (!RandomMath.RandomPercent(powerUpSpawnChance)) { return(null); } PowerUp powerUp = null; var randNum = RandomMath.RandomBetween(0, 100); if (0 <= randNum && randNum < 30 && favoredPowerUp != PowerUpType.Nothing) { powerUp = new PowerUp(scene, favoredPowerUp); } else if (30 <= randNum && randNum < 50 && secondaryfavoredPowerUp != PowerUpType.Nothing) { powerUp = new PowerUp(scene, secondaryfavoredPowerUp); } else { powerUp = new PowerUp(scene, RandomMath.RandomEnum <PowerUpType>()); } if (powerUp.PowerUpType == PowerUpType.Nothing) { return(null); } return(ModelFactory.CreatePowerUpPackage(powerUp, this.Position)); }