public virtual IPaletteService CreatePaletteService(string palettesPath, AppSettings settings) { var _colorFactory = new ColorFactory(); var _paletteService = new PaletteService(_colorFactory); foreach (var paletteName in settings.GlobalPalettes) { var paletteFileName = Path.Combine(palettesPath, $"{paletteName}.json"); var palette = _paletteService.ReadJsonPalette(paletteFileName); _paletteService.GlobalPalettes.Add(palette); } _paletteService.SetDefaultPalette(_paletteService.GlobalPalettes.First()); var nesPaletteFileName = Path.Combine(palettesPath, $"{settings.NesPalette}.json"); var nesPalette = _paletteService.ReadJsonPalette(nesPaletteFileName); _colorFactory.SetNesPalette(nesPalette); _paletteService.SetNesPalette(nesPalette); return(_paletteService); }