Example #1
0
        public GameLibraryViewModel()
        {
            _gameSignatures = new HashSet <string>();
            _games          = new ObservableCollection <GameViewModel>();
            _addCommand     = new DelegateCommand(Scan);

            GameDetector = new GameDetector();
            GameDetector.Add(new ScummMetaEngine());
            GameDetector.Add(new SkyMetaEngine());
            GameDetector.Add(new Sword1.Sword1MetaEngine());

            LoadGameLibrary();
        }
Example #2
0
 public static void AddPluginsFromDirectory(this GameDetector gameDetector, string engineDirectory)
 {
     if (ServiceLocator.FileStorage.DirectoryExists(engineDirectory))
     {
         var dlls = ServiceLocator.FileStorage.EnumerateFiles(engineDirectory, "*.dll");
         foreach (var dll in dlls)
         {
             try
             {
                 var asm = Assembly.LoadFile(dll);
                 if (asm != null)
                 {
                     var engines = GetEngines(asm);
                     foreach (var engine in engines)
                     {
                         gameDetector.Add(engine);
                     }
                 }
             }
             catch (BadImageFormatException)
             {
             }
             catch (Exception)
             {
             }
         }
     }
 }