public AlienManager(int playerNumber, bool disabled, List<List<Alien>> waves, int shotEnergyCost, int shotEnergy,
     int deltaX)
 {
     PlayerNumber = playerNumber;
     Disabled = disabled;
     Waves = waves;
     ShotEnergyCost = shotEnergyCost;
     ShotEnergy = shotEnergy;
     DeltaX = deltaX;
     ShootStrategy = new ShootUsingRandomStrategy(Waves);
 }
        public AlienManager(int playerNumber)
        {
            PlayerNumber = playerNumber;
            Disabled = false;

            Waves = new List<List<Alien>>();

            ShootStrategy = new ShootUsingRandomStrategy(Waves);
            ShotEnergyCost = Settings.Default.AlienShotCost;
            ShotEnergy = 0;

            DeltaX = -1;
        }
        public AlienManager(AlienManager alienManager)
        {
            _debugAllMoveForward = alienManager._debugAllMoveForward;
            _debugAllShoot = alienManager._debugAllShoot;
            _debugPreventShoot = alienManager._debugPreventShoot;

            PlayerNumber = alienManager.PlayerNumber;
            Disabled = alienManager.Disabled;

            Waves = new List<List<Alien>>(alienManager.Waves.Count);
            foreach (var wave in alienManager.Waves)
            {
                Waves.Add(new List<Alien>(wave));
            }

            ShootStrategy = new ShootUsingRandomStrategy(Waves);
            ShotEnergyCost = alienManager.ShotEnergyCost;
            ShotEnergy = alienManager.ShotEnergy;
            DeltaX = alienManager.DeltaX;
        }