protected override void ApplyPowerup(Ship ship)
        {
            PlayerShip applyShip;
            EnemyPlayerShip applyAIShip;

            if (ship == Player.Ship)
            {
                //if (Config.SoundFXOn)
                //    GameStateManagementGame.Instance.soundManager.PlaySound("FX1", 0.7f);  
                Sounds.PlaySound("powerup");
 
                applyShip = ship.GetRoot() as PlayerShip;

                if (applyShip.Shield.Health < Config.ShieldHealth)
                {
                    if (Config.ship1Active)
                        applyShip.Shield.ShieldRegen(Config.ShieldsPowerupValue + 5);
                    else
                        applyShip.Shield.ShieldRegen(Config.ShieldsPowerupValue);
                }
            }

            if (ship == Player.EnemyPlayer)
            {
                applyAIShip = ship.GetRoot() as EnemyPlayerShip;

                if (applyAIShip.Shield.Health < Config.ShieldHealth)
                    applyAIShip.Shield.ShieldRegen(Config.ShieldsPowerupValue);
            }
        }
        protected override void ApplyPowerup(Ship ship)
        {
            PlayerShip applyShip;
            EnemyPlayerShip applyAIShip;

            if (ship == Player.Ship)
            {
                //if (Config.SoundFXOn)
                //    GameStateManagementGame.Instance.soundManager.PlaySound("FX1", 0.7f);  
                Sounds.PlaySound("powerup");
 
                applyShip = ship.GetRoot() as PlayerShip;

                applyShip.Weapon.StopFire();
                applyShip.FireInterval = Config.PlayerFireInterval / 1.5f;
                applyShip.Weapon.FireInterval = Config.PlayerFireInterval / 1.5f;

                if (Config.ship2Active)
                    applyShip.ProjectileSpeedTimer.Start(18);
                else
                    applyShip.ProjectileSpeedTimer.Start(15);

                if (applyShip.ProjectileSpeedBar != null)
                {
                    applyShip.ProjectileSpeedBar.Percent = 0f;
                    applyShip.ProjectileSpeedBar = null;
                }
                applyShip.ProjectileSpeedBar = new Bar(100, 20, new Color(128, 0, 128, 5));
                applyShip.ProjectileSpeedBar.Position = new Vector2(5, 200);

                //Player.NotFiring = true;
                applyShip.Weapon.StartFire();
            }

            if (ship == Player.EnemyPlayer)
            {
                applyAIShip = ship.GetRoot() as EnemyPlayerShip;

                applyAIShip.Weapon.StopFire();
                applyAIShip.FireInterval = Config.PlayerFireInterval / 1.5f;
                applyAIShip.Weapon.FireInterval = Config.PlayerFireInterval / 1.5f;

                applyAIShip.ProjectileSpeedTimer.Start(15);

                //if (applyAIShip.ProjectileSpeedBar != null)
                //{
                //    applyAIShip.ProjectileSpeedBar.Percent = 0f;
                //    applyAIShip.ProjectileSpeedBar = null;
                //}
                //applyAIShip.ProjectileSpeedBar = new Bar(100, 20, new Color(128, 0, 128, 5));
                //applyAIShip.ProjectileSpeedBar.Position = new Vector2(5, 200);
                applyAIShip.Weapon.StartFire();
            }
        }
        protected override void ApplyPowerup(Ship ship)
        {
            PlayerShip applyShip;
            EnemyPlayerShip applyAIShip;

            if (ship == Player.Ship)
            {
                //if (Config.SoundFXOn)
                //    GameStateManagementGame.Instance.soundManager.PlaySound("FX1", 0.7f);   
                Sounds.PlaySound("powerup");

                applyShip = ship.GetRoot() as PlayerShip;

                applyShip.Weapon.StopFire();

                applyShip.FireAction = new FireAction(ProjectileMissile.FireMissile);

                applyShip.HomingMissileTimer.Start(5);

                if (applyShip.HomingMissileBar != null)
                {
                    applyShip.HomingMissileBar.Percent = 0f;
                    applyShip.HomingMissileBar = null;
                }
                applyShip.HomingMissileBar = new Bar(100, 20, new Color(255, 165, 0, 5));
                applyShip.HomingMissileBar.Position = new Vector2(5, 260);

                //Player.NotFiring = true;
                applyShip.Weapon.StartFire();
            }

            if (ship == Player.EnemyPlayer)
            {
                applyAIShip = ship.GetRoot() as EnemyPlayerShip;

                applyAIShip.Weapon.StopFire();

                applyAIShip.FireAction = new FireAction(AIProjectileMissile.FireMissile);

                applyAIShip.HomingMissileTimer.Start(5);

                //if (applyAIShip.HomingMissileBar != null)
                //{
                //    applyAIShip.HomingMissileBar.Percent = 0f;
                //    applyAIShip.HomingMissileBar = null;
                //}
                //applyAIShip.HomingMissileBar = new Bar(100, 20, new Color(255, 165, 0, 5));
                //applyAIShip.HomingMissileBar.Position = new Vector2(5, 260);

                applyAIShip.Weapon.StartFire();
            }
        }
        protected override void ApplyPowerup(Ship ship)
        {
            PlayerShip applyShip;

            if (ship == Player.Ship)
            {
                applyShip = ship.GetRoot() as PlayerShip;

                Node.Fps = 120;
                applyShip.SlowAllTimer.Start(1);
                GamePage.levelTime += 1;
                //Timer.TimerSpeedModifier = 0.25f;
            }
        }
        protected override void ApplyPowerup(Ship ship)
        {
            PlayerShip applyShip;
            //EnemyPlayerShip applyAIShip;

            if (ship == Player.Ship)
            {
                //if (Config.SoundFXOn)
                //    GameStateManagementGame.Instance.soundManager.PlaySound("FX1", 0.7f);   
                Sounds.PlaySound("powerup");

                applyShip = ship.GetRoot() as PlayerShip;

                applyShip.laserDefence += 5;
            }

            if (ship == Player.EnemyPlayer)
            {

            }
        }
        protected override void ApplyPowerup(Ship ship)
        {
            PlayerShip applyShip;
            EnemyPlayerShip applyAIShip;

            if (ship == Player.Ship)
            {
                if (Config.SoundFXOn)
                    GameStateManagementGame.Instance.soundManager.PlaySound("FX1", 0.7f);   

                applyShip = ship.GetRoot() as PlayerShip;

                ship.Weapon.RemoveWeapon();
                applyShip.weaponBurstTotal += 1;

                //switch(Config.Rand.Next(1, 6))
                //{
                //    case 1:
                //        Config.CurrentProjectile = Config.BulletSheetBlueLaserDouble;
                //        break;
                //    case 2:
                //        Config.CurrentProjectile = Config.BulletSheetEnergyPurple;
                //         break;
                //    case 3:
                //        Config.CurrentProjectile = Config.BulletSheetMelter;
                //        break;
                //    case 4:
                //        Config.CurrentProjectile = Config.BulletSheetWave;
                //        break;
                //    case 5:
                //        Config.CurrentProjectile = Config.BulletSheetGreenLaser;
                //        break;
                //}

                float spread = 0.14f;
                if (applyShip.weaponBurstTotal > 1)
                    spread = 0.28f;

                //ship.Weapon = null;

                //WeaponBurst burstWeapon = new WeaponBurstWave(applyShip, 0, Math.Min(applyShip.weaponBurstTotal, 5), spread);
                WeaponBurst burstWeapon = new WeaponBurstWave(applyShip, 0, Math.Min(applyShip.weaponBurstTotal, 2), spread);
                //WeaponBurst burstWeapon = new WeaponBurstWave(applyShip, 0, applyShip.weaponBurstTotal, spread);
                applyShip.Weapon = new WeaponAutoBurst(applyShip, applyShip.FireInterval, burstWeapon);

                //ship.FireAction = new FireAction(ProjectileBulletGreenBeam.FireBullet);

                applyShip.AddProjectileTimer.Start(15);

                if (applyShip.AddProjectileBar != null)
                {
                    applyShip.AddProjectileBar.Percent = 0f;
                    applyShip.AddProjectileBar = null;
                }
                applyShip.AddProjectileBar = new Bar(100, 20, new Color(106, 90, 205, 5));
                applyShip.AddProjectileBar.Position = new Vector2(5, 230);

                //Player.NotFiring = true;
                applyShip.Weapon.StartFire();
            }

            if (ship == Player.EnemyPlayer)
            {
                applyAIShip = ship.GetRoot() as EnemyPlayerShip;

                applyAIShip.Weapon.RemoveWeapon();
                applyAIShip.weaponBurstTotal += 1;

                float spread = 0.14f;
                if (applyAIShip.weaponBurstTotal > 1)
                    spread = 0.28f;

                //ship.Weapon = null;

                WeaponBurst burstWeapon = new WeaponBurstWave(applyAIShip, 0, Math.Min(applyAIShip.weaponBurstTotal, 2), spread);
                //WeaponBurst burstWeapon = new WeaponBurstWave(applyAIShip, 0, applyAIShip.weaponBurstTotal, spread);
                applyAIShip.Weapon = new WeaponAutoBurst(applyAIShip, applyAIShip.FireInterval, burstWeapon);

                //ship.FireAction = new FireAction(ProjectileBulletGreenBeam.FireBullet);

                applyAIShip.AddProjectileTimer.Start(15);

                //if (applyAIShip.AddProjectileBar != null)
                //{
                //    applyAIShip.AddProjectileBar.Percent = 0f;
                //    applyAIShip.AddProjectileBar = null;
                //}
                //applyAIShip.AddProjectileBar = new Bar(100, 20, new Color(106, 90, 205, 5));
                //applyAIShip.AddProjectileBar.Position = new Vector2(5, 230);

                applyAIShip.Weapon.StartFire();
            }
        }