public StaticObstaclesGenerator(IChestGenerator chestGenerator,
                                 IInteriorObjectRandomSource interiorObjectRandomSource,
                                 IStaticObjectFactoryCollector staticObjectfactoryCollector,
                                 IStaticObjectsGeneratorRandomSource staticObjectsGeneratorRandomSource)
 {
     _chestGenerator                     = chestGenerator ?? throw new ArgumentNullException(nameof(chestGenerator));
     _interiorObjectRandomSource         = interiorObjectRandomSource ?? throw new ArgumentNullException(nameof(interiorObjectRandomSource));
     _staticObjectfactoryCollector       = staticObjectfactoryCollector ?? throw new ArgumentNullException(nameof(staticObjectfactoryCollector));
     _staticObjectsGeneratorRandomSource = staticObjectsGeneratorRandomSource ?? throw new ArgumentNullException(nameof(staticObjectsGeneratorRandomSource));
 }
 /// <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;
 }
 /// <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;
 }