示例#1
0
        public static PaletteFile FromLif(LifFile lif)
        {
            var bagEntry = lif.GetFile(Bag.FileName);

            if (bagEntry == null)
            {
                throw new InvalidDataException($"LIF file does not contains '{Bag.FileName}'");
            }
            var file = new PaletteFile(Bag.Load(bagEntry.GetStream()));

            foreach (var paletteEntry in lif.GetFiles("*.paxml"))
            {
                file.Palettes.Add(Palette.FromLifEntry(paletteEntry));
            }

            return(file);
        }
示例#2
0
        public static PaletteFile FromDirectory(string path)
        {
            string bagFilePath = Path.Combine(path, Bag.FileName);

            if (!File.Exists(bagFilePath))
            {
                throw new FileNotFoundException($"File '{bagFilePath} not found.");
            }

            var file = new PaletteFile(Bag.Load(bagFilePath));

            foreach (string filePath in Directory.GetFiles(path, "*.paxml"))
            {
                file.Palettes.Add(Palette.Load(filePath));
            }

            return(file);
        }