コード例 #1
0
 public void Save(string filename)
 {
     System.IO.FileInfo          f      = new System.IO.FileInfo(filename);
     Serialization.Palettes.Base filter = GetFilterForExtension(f.Extension);
     if (filter == null)
     {
         throw new Exception("No palette file filters found that handles " + filename);
     }
     filter.Save(filename, this);
 }
コード例 #2
0
 public static Palette CreateFromFile(string filename)
 {
     System.IO.FileInfo f = new System.IO.FileInfo(filename);
     if (!f.Exists)
     {
         throw new System.IO.FileNotFoundException("Palette file doesn't exist: " + filename);
     }
     Serialization.Palettes.Base filter = GetFilterForExtension(f.Extension);
     if (filter == null)
     {
         throw new Exception("No palette file filters found that handles " + filename);
     }
     return(filter.Load(filename));
 }
コード例 #3
0
        public static Serialization.Palettes.Base GetFilterForExtension(string extension)
        {
            extension = extension.ToLower();
            if (extension.StartsWith("."))
            {
                extension = extension.Remove(0, 1);
            }
            Dictionary <string, List <Type> > extAndTypes = GetAvailableFileFormats();

            if (!extAndTypes.ContainsKey(extension))
            {
                return(null);
            }
            Type            type = extAndTypes[extension][0];
            ConstructorInfo ci   = type.GetConstructor(new Type[] { });

            Serialization.Palettes.Base palFilter = (Serialization.Palettes.Base)ci.Invoke(new object[] { });
            return(palFilter);
        }