protected override void SecondaryShootingPattern(GameTime gameTime) { double width = 2 * Math.PI; int numberOfShots = 6; double randomOffset = random.NextDouble() * Math.PI * 2; List <double> spreadDirections = MathFunctions.GetSpreadDirList(width, numberOfShots); foreach (double dir in spreadDirections) { EnemyWeakRedLaser laser1 = new EnemyWeakRedLaser(Game, spriteSheet); laser1.PositionX = PositionX; laser1.PositionY = PositionY; double shootDir = dir + randomOffset; laser1.Direction = MathFunctions.DirFromRadians(shootDir); laser1.Initialize(); laser1.Speed *= 1.0f; laser1.Duration *= 0.4f; Game.stateManager.shooterState.gameObjects.Add(laser1); } }
protected override void SecondaryShootingPattern(GameTime gameTime) { double width = Math.PI; double numberOfShots = 7; List <double> spreadDirections = MathFunctions.GetSpreadDirList(width, numberOfShots); int shotNbr = 0; int centerShot = (int)(numberOfShots / 2) + 1; foreach (double dir in spreadDirections) { shotNbr++; if (shotNbr == centerShot) { continue; } EnemyWeakRedLaser laser = new EnemyWeakRedLaser(Game, spriteSheet); laser.Position = Position; laser.Direction = MathFunctions.DirFromRadians(dir); laser.Initialize(); laser.Speed *= 0.3f; laser.Duration *= 1.5f; Game.stateManager.shooterState.gameObjects.Add(laser); } }
protected override void ShootingPattern(GameTime gameTime) { double width = Math.PI / 12; double numberOfShots = 3; foreach (double dir in MathFunctions.GetSpreadDirList(width, numberOfShots)) { EnemyWeakBlueLaser laser1 = new EnemyWeakBlueLaser(Game, spriteSheet); laser1.PositionX = PositionX; laser1.PositionY = PositionY; laser1.Direction = MathFunctions.DirFromRadians(dir); laser1.Initialize(); laser1.Speed *= 1.5f; laser1.Duration *= 2.0f; Game.stateManager.shooterState.gameObjects.Add(laser1); } }