Ejemplo n.º 1
0
        // 对比配置中已安装插件和激战2目录中已安装插件是否匹配
        // 应当只在程序启动时执行一次
        public void CheckInstalledAddonList(string GameType)
        {
            var InstalledAddons   = GetInstalledAddonList(GameType);
            var GamePath          = GameType == "MF" ? MFPath : GFPath;
            var ShouldDeleteNames = new List <string>();

            foreach (var InstalledAddon in InstalledAddons)
            {
                var MainDllPath = Path.Combine(GamePath, InstalledAddon.MainDll);

                if (!File.Exists(MainDllPath))
                {
                    ShouldDeleteNames.Add(InstalledAddon.Name);
                    return;
                }

                InstalledAddon.Version = UtilHelper.GetExeFileVersion(MainDllPath);
            }

            foreach (var ShouldDeleteName in ShouldDeleteNames)
            {
                InstalledAddons = InstalledAddons.Where(Item => Item.Name != ShouldDeleteName).ToList();
            }

            SaveInstalledAddonList(InstalledAddons, GameType);
        }