public RocketLandingController(IRocketLandingService rocketLandingService, IConfiguration configuration) { _rocketLandingService = rocketLandingService; var settings = new LandingAreaSettings(); configuration.GetSection("LandingAreaSettings").Bind(settings); rocketLandingService.SetupLandingArea(settings.ToLandingArea()); }
public static LandingArea ToLandingArea(this LandingAreaSettings settings) { var platforms = new List <LandingPlatform>(); foreach (var landingPlatformSettings in settings.LandingPlatforms) { platforms.Add(new LandingPlatform(new Square(landingPlatformSettings.Height, landingPlatformSettings.Width, new Position(landingPlatformSettings.TopLeftCorner.AxisX, landingPlatformSettings.TopLeftCorner.AxisY)))); } return(new LandingArea(platforms, settings.Height, settings.Width)); }