示例#1
0
        /// <summary>
        /// Populates list of 'extra' items for the game. This includes things like dlls, and for ME1, config files
        /// </summary>
        public void PopulateExtras()
        {
            var exeDir       = MEDirectories.ExecutableDirectory(this);
            var dlls         = Directory.GetFiles(exeDir, @"*.dll").Select(x => Path.GetFileName(x));
            var expectedDlls = MEDirectories.VanillaDlls(this.Game);
            var extraDlls    = dlls.Except(expectedDlls, StringComparer.InvariantCultureIgnoreCase);

            void notifyExtraFileDeleted(InstalledExtraFile ief)
            {
                ExtraFiles.Remove(ief);
            }

            ExtraFiles.ReplaceAll(extraDlls.Select(x => new InstalledExtraFile(Path.Combine(exeDir, x), InstalledExtraFile.EFileType.DLL, Game, notifyExtraFileDeleted)));
        }