/// <summary>
 /// Создаёт экземпляр <see cref="SectorGenerator"/>.
 /// </summary>
 /// <param name="mapFactorySelector"> Сервис для выбора фабрики для создания карты. </param>
 /// <param name="sectorFactory"> Фабрика сектора. </param>
 /// <param name="monsterGenerator"> Генератор монстров для подземелий. </param>
 /// <param name="chestGenerator"> Генератор сундуков для подземеоий </param>
 /// <param name="citizenGenerator"> Генератор жителей в городском квартале. </param>
 /// <param name="botPlayer"> Игрок, управляющий монстрами, мирными жителями. </param>
 public SectorGenerator(
     IMapFactorySelector mapFactorySelector,
     ISectorFactory sectorFactory,
     IMonsterGenerator monsterGenerator,
     IChestGenerator chestGenerator,
     ICitizenGenerator citizenGenerator
     ,
     IBotPlayer botPlayer)
 {
     _mapFactorySelector = mapFactorySelector;
     _sectorFactory      = sectorFactory;
     _monsterGenerator   = monsterGenerator;
     _chestGenerator     = chestGenerator;
     _botPlayer          = botPlayer;
     _citizenGenerator   = citizenGenerator;
 }
Beispiel #2
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));
 }
 /// <summary>
 /// Создаёт экземпляр <see cref="SectorGenerator"/>.
 /// </summary>
 /// <param name="mapFactory"> Фабрика карты. Сейчас используется <see cref="RoomStyle.RoomMapFactory"/>. </param>
 /// <param name="sectorFactory"> Фабрика сектора. </param>
 /// <param name="monsterGenerator"> Генератор монстров для подземелий. </param>
 /// <param name="chestGenerator"> Генератор сундуков для подземеоий </param>
 /// <param name="monsterPlayer"> Игрок, управляющий монстрами. </param>
 /// <param name="schemeService"> Сервис схем. </param>
 /// <param name="traderManager"> Менеджер торговцев. Нужен для сектора. </param>
 /// <param name="dropResolver"> Служба работы с таблицами дропа. Нужна для создания торговцев. </param>
 public SectorGenerator(
     IMapFactory mapFactory,
     ISectorFactory sectorFactory,
     IMonsterGenerator monsterGenerator,
     IChestGenerator chestGenerator,
     IBotPlayer monsterPlayer,
     ISchemeService schemeService,
     ITraderManager traderManager,//TODO Вынести в отдельный генератор
     IDropResolver dropResolver
     )
 {
     _mapFactory       = mapFactory;
     _sectorFactory    = sectorFactory;
     _monsterGenerator = monsterGenerator;
     _chestGenerator   = chestGenerator;
     _monsterPlayer    = monsterPlayer;
     _schemeService    = schemeService;
     _traderManager    = traderManager;
     _dropResolver     = dropResolver;
 }