public override void Update(GameTime gameTime, Rectangle clientBounds) { shoot += (float)gameTime.ElapsedGameTime.TotalSeconds; if (shoot >= 1) { shoot = 0; FireProjectile(); } activateLaser += (float)gameTime.ElapsedGameTime.TotalSeconds; //Handles the boss laser stages. if (activateLaser >= 2 && !warningActivated && !laserActive) { //Warn the user about incoming laser Sounds.SoundBank.PlayCue("LaserWarning"); warningActivated = true; } if (activateLaser >= 4) { laserLeft = new FirstBossLaser(Vector2.Zero, new Vector2((this.position.X + frameSize.X / 2) - 70, this.position.Y + 190), 0f, new Rectangle((int)(this.position.X + frameSize.X / 2 - 70), (int)this.position.Y + 190, 40, 720), game.Content, 9); laserRight = new FirstBossLaser(Vector2.Zero, new Vector2((this.position.X + frameSize.X / 2) + 30, this.position.Y + 190), 0f, new Rectangle((int)(this.position.X + frameSize.X / 2 + 30), (int)this.position.Y + 190, 40, 720), game.Content, 9); laserActive = true; activateLaser = 0; warningActivated = false; } else if (activateLaser >= 1.5 && laserActive) { laserLeft = null; laserRight = null; activateLaser = 0; laserActive = false; laserStruckTarget = false; } base.Update(gameTime, clientBounds); }
public static void AddBullet(DefaultBullet bullet) { bullets.Add(bullet); }