/// <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="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; }
public MySectorGenerator(ISectorFactory sectorFactory) { _sectorFactory = sectorFactory ?? throw new ArgumentNullException(nameof(sectorFactory)); }