Пример #1
0
        private static PaletteFile GetLddPaletteFile(LDDEnvironment environment)
        {
            var appDataPalettes = environment.GetAppDataSubDir("Palettes");

            if (File.Exists(Path.Combine(appDataPalettes, "LDD.lif")))
            {
                return(PaletteFile.FromLif(Path.Combine(appDataPalettes, "LDD.lif")));
            }

            if (Directory.Exists(Path.Combine(appDataPalettes, "LDD")))
            {
                return(PaletteFile.FromDirectory(Path.Combine(appDataPalettes, "LDD")));
            }

            string dbLifPath = environment.GetLifFilePath(LddLif.DB);

            if (File.Exists(dbLifPath))
            {
                using (var lif = LifFile.Open(dbLifPath))
                {
                    var paletteEntry = lif.GetAllFiles().FirstOrDefault(x => x.Name == "LDD.lif");
                    if (paletteEntry != null)
                    {
                        using (var paletteLif = LifFile.Read(paletteEntry.GetStream()))
                            return(PaletteFile.FromLif(paletteLif));
                    }
                }
            }

            return(null);
        }