public static IObservable <Unit> SetUpStrongholdInLevelData(Coordinate coordinate,
                                                             ILevelDataEditingService levelDataEditingService,
                                                             IMapConfigRepository mapConfigRepository,
                                                             ILevelDataRepository levelDataRepository) =>
 levelDataRepository.GetMostRecent()
 .Zip(mapConfigRepository.GetMostRecent(), (data, config) => (data, config))
 .SelectMany(tuple => levelDataEditingService.SetUpStronghold(tuple.data, tuple.config, coordinate));
 public DestructStrongholdInLevelCommand(ILevelDataEditingService levelDataEditingService,
                                         IMapEditingService mapEditingService,
                                         IMapConfigRepository mapConfigRepository,
                                         IMapGetService mapGetService,
                                         ILevelDataRepository levelDataRepository,
                                         Coordinate coordinate)
 {
     _levelDataEditingService = levelDataEditingService;
     _mapEditingService       = mapEditingService;
     _mapConfigRepository     = mapConfigRepository;
     _mapGetService           = mapGetService;
     _levelDataRepository     = levelDataRepository;
     _coordinate = coordinate;
 }
 public LevelEditingService(ILevelDataEditingService levelDataEditingService,
                            IMapEditingService mapEditingService,
                            IMapConfigRepository mapConfigRepository,
                            IMapGetService mapGetService,
                            ILevelDataRepository levelDataRepository,
                            ICommandExecutionService commandExecutionService)
 {
     _levelDataEditingService = levelDataEditingService;
     _mapEditingService       = mapEditingService;
     _mapConfigRepository     = mapConfigRepository;
     _mapGetService           = mapGetService;
     _levelDataRepository     = levelDataRepository;
     _commandExecutionService = commandExecutionService;
 }