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;
        }