Exemplo n.º 1
0
 /// <summary>
 /// Создаёт экземпляр <see cref="SectorGenerator"/>.
 /// </summary>
 /// <param name="mapFactorySelector"> Сервис для выбора фабрики для создания карты. </param>
 /// <param name="sectorFactory"> Фабрика сектора. </param>
 /// <param name="monsterGenerator"> Генератор монстров для подземелий. </param>
 /// <param name="chestGenerator"> Генератор сундуков для подземеоий </param>
 /// <param name="botPlayer"> Игрок, управляющий монстрами, мирными жителями. </param>
 public SectorGenerator(
     IMapFactorySelector mapFactorySelector,
     ISectorFactory sectorFactory,
     IMonsterGenerator monsterGenerator,
     IStaticObstaclesGenerator staticObstaclesGenerator,
     IDiseaseGenerator diseaseGenerator,
     IBotPlayer botPlayer,
     IResourceMaterializationMap resourceMaterializationMap)
 {
     _mapFactorySelector       = mapFactorySelector ?? throw new ArgumentNullException(nameof(mapFactorySelector));
     _sectorFactory            = sectorFactory ?? throw new ArgumentNullException(nameof(sectorFactory));
     _monsterGenerator         = monsterGenerator ?? throw new ArgumentNullException(nameof(monsterGenerator));
     _staticObstaclesGenerator = staticObstaclesGenerator ?? throw new ArgumentNullException(nameof(staticObstaclesGenerator));
     _diseaseGenerator         = diseaseGenerator ?? throw new ArgumentNullException(nameof(diseaseGenerator));
     _botPlayer = botPlayer ?? throw new ArgumentNullException(nameof(botPlayer));
     _resourceMaterializationMap = resourceMaterializationMap ?? throw new ArgumentNullException(nameof(resourceMaterializationMap));
 }