public EnemyShooter(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            this.Speed = Config.EnemySpeed;
            this.FireAction = new FireAction(shooterProjectileBullet.enemyFireBullet);
            //this.Weapon = new WeaponSingle(this);

            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //this.Weapon = new WeaponAutoBurst(this, Config.EnemyFireInterval, burst);

            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //WeaponBurstWave burstWeapon = new WeaponBurstWave(this, 0, 2, 0.3f);
            this.Weapon = new WeaponBurstWave(this, 0, 2, 0.3f);
            //this.Weapon = new WeaponAutoBurst(this, 5, burstWeapon);

            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            this.fireTimer.Start(5);
            this.baseTexture = new Sprite(Config.EnemyShooterSpriteSheetBase);
            this.baseTexture.Color = Color.DarkGoldenrod;

            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
        }
        //Sidearm sidearm1;
        //Sidearm sidearm2;
        //Sidearm sidearm3;
        //Sidearm sidearm4;


        public EnemyInterceptor(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            this.Speed = Config.EnemySpeed;
            this.FireAction = new FireAction(enemyProjectileBullet.enemyFireBullet);
            this.Weapon = new WeaponSingle(this);
            
            this.Weapon.Direction = new Vector2(0, 1);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);

            this.baseTexture = new Sprite(Config.EnemyInterceptorSpriteSheetBase);
            this.baseTexture.Color = Color.Turquoise;

            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));

            //sidearm1 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm1.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm1.SetParent(this);

            //sidearm2 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm2.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm2.SetParent(this);

            //sidearm3 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm3.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm3.SetParent(this);

            //sidearm4 = new Sidearm(Config.EnemyChaserSpriteSheet, this, new Vector2(30, 0));
            //sidearm4.Position = new Vector2(Config.WorldBoundsX / 2, Config.WorldBoundsY / 2 - this.Sprite.Origin.Y);
            //sidearm4.SetParent(this);
        }
 public EnemyDasher(SpriteSheet spriteSheet)
     : base(spriteSheet)
 {
     this.Health = Config.EnemyHealth;
     this.Speed = Config.EnemyDasherSpeed;
     
     this.baseTexture = new Sprite(Config.EnemyDasherSpriteSheetBase);
     this.baseTexture.Color = Color.DarkOrange;
 }
        public EnemyChaser(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            //this.FireAction = new FireAction(enemyProjectileBullet.enemyFireBullet);
            //this.Weapon = new WeaponSingle(this);
            //this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            //this.fireTimer = new Timer();
            //this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            //this.fireTimer.Start(Config.EnemyFireInterval);
            this.baseTexture = new Sprite(Config.EnemyChaserSpriteSheetBase);
            this.baseTexture.Color = Color.DarkRed;
            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
        }
        public BugDagger3(SpriteSheet spriteSheet)
            : base(spriteSheet, 1)
        {
            this.Health = Config.EnemyHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            this.Speed = Config.EnemySpeed - 1;
            this.FireAction = new FireAction(enemyProjectileBullet.enemyFireBullet);
            this.Weapon = new WeaponSingle(this);
            
            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //this.Weapon = new WeaponAutoBurst(this, Config.EnemyFireInterval, burst);

            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            //this.fireTimer.Start(Config.EnemyFireInterval);
            this.baseTexture = new Sprite(Config.BugDagger3SpriteSheetBase);
            moveTo = new Vector2(Config.Rand.Next(50, 1550), Config.Rand.Next(50, 910));
        }
        public boss1(SpriteSheet spriteSheet)
            : base(spriteSheet)
        {
            this.Health = Config.BossHealth;
            //this.ExplosionSpriteSheet = Config.SmallExplosionSpriteSheet;
            this.Speed = Config.BossSpeed;
            this.FireAction = new FireAction(bossProjectileBullet.enemyFireBullet);

            //this.Weapon = new WeaponSingle(this);
            
            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 8, 0.8f);
            //WeaponBurstWave burst = new WeaponBurstWave(this, 0, 6, 2.0f);
            this.Weapon = new WeaponBurstWave(this, 0, 6, 2.0f);
            //this.Weapon = new WeaponAutoBurst(this, Config.BossFireInterval, burst);

            this.Weapon.Direction = new Vector2(0, 1);
            //this.Weapon.Offset = new Vector2(0, this.Sprite.Origin.Y);

            this.fireTimer = new Timer();
            this.fireTimer.Fire += new NotifyHandler(fireTimer_Fire);
            this.fireTimer.Start(Config.BossFireInterval);
            this.baseTexture = new Sprite(Config.BossSpriteSheetBase);
        }