Ejemplo n.º 1
0
        public static void Initialize()         //WTFModLoaderInjector entry
        {
            if (ModsDirectory == null || SteamModsDirectory == null)
            {
                LegacyLoad();
            }
            else
            {
                string manifestDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                if (_modManager != null)
                {
                    return;
                }
                CurrentBuildVersion = "0.4";
                String manifestDirectoryFile = System.IO.Path.GetFullPath(System.IO.Path.Combine(manifestDirectory, System.IO.Path.Combine(@"0Harmony.dll")));
                String rootdirectoryFile     = System.IO.Path.GetFullPath(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.Combine(@"0Harmony.dll")));
                if (System.IO.File.Exists(manifestDirectoryFile) && System.IO.File.Exists(rootdirectoryFile))
                {
                    String rootdirectoryBackupFile = System.IO.Path.GetFullPath(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.Combine(@"0Harmony.dll.old")));
                    File.Copy(rootdirectoryFile, rootdirectoryBackupFile, true);
                    File.Delete(rootdirectoryFile);
                }

                manifestDirectoryFile = System.IO.Path.GetFullPath(System.IO.Path.Combine(manifestDirectory, System.IO.Path.Combine(@"Newtonsoft.Json.dll")));
                rootdirectoryFile     = System.IO.Path.GetFullPath(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.Combine(@"Newtonsoft.Json.dll")));
                if (System.IO.File.Exists(manifestDirectoryFile) && System.IO.File.Exists(rootdirectoryFile))
                {
                    String rootdirectoryBackupFile = System.IO.Path.GetFullPath(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.Combine(@"Newtonsoft.Json.dll.old")));
                    File.Copy(rootdirectoryFile, rootdirectoryBackupFile, true);
                    File.Delete(rootdirectoryFile);
                }

                manifestDirectoryFile = System.IO.Path.GetFullPath(System.IO.Path.Combine(manifestDirectory, System.IO.Path.Combine(@"SimpleInjector.dll")));
                rootdirectoryFile     = System.IO.Path.GetFullPath(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.Combine(@"SimpleInjector.dll")));
                if (System.IO.File.Exists(manifestDirectoryFile) && System.IO.File.Exists(rootdirectoryFile))
                {
                    String rootdirectoryBackupFile = System.IO.Path.GetFullPath(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), System.IO.Path.Combine(@"SimpleInjector.dll.old")));
                    File.Copy(rootdirectoryFile, rootdirectoryBackupFile, true);
                    File.Delete(rootdirectoryFile);
                }
            }
            EnsureFolderSetup();
            ModDbManager.Init();
            ModDbManager.updateCfgDb();
            ModDbManager.loadCfgData();
            HarmonyPatcher.PatchGameRootMenu();
            Logger.InitializeLogging(Path.Combine(ModsDirectory, "WTFModLoader.log"));
            SimpleInjector.Container container = CompositionRoot.GetContainer();
            container.Options.ResolveUnregisteredConcreteTypes = true;
            _modManager = new ModManager(ModsDirectory, SteamModsDirectory, new JsonConfigProvider(), new FileSystemModLoader(), container);
            _modManager.Initialize();
        }
Ejemplo n.º 2
0
 public void applySettings(object sender)
 {
     if (this._tempActiveMods.IsValueCreated)
     {
         WTFModLoader._modManager.ActiveMods.Clear();
         WTFModLoader._modManager.ActiveMods.AddRange(this._tempActiveMods.Value);
     }
     if (this._tempInactiveMods.IsValueCreated)
     {
         WTFModLoader._modManager.InactiveMods.Value.Clear();
         WTFModLoader._modManager.InactiveMods.Value.AddRange(this._tempInactiveMods.Value);
     }
     ModDbManager.writeModCfgData();
     ModDbManager.writeCfgData();
     SCREEN_MANAGER.alerts.Enqueue("Mod settings saved and will be applied on the next game start.");
 }