/// <summary> /// Changes the silo total amount. /// </summary> public void ChangeSiloTotalAmount(string saveGame) { if (saveGame.IsNullOrEmpty()) { MsgBx.Msg("You did not choose a SaveGame to Modify", "Profile Error"); return; } var pth = saveGame + "careerSavegame.xml"; if (!pth.FileExists()) { return; } var doc = XDocument.Load(pth); var q = from node in doc.Descendants() where node.Name == "totalAmount" where node.Attributes().Any() select new { NodeName = node.Name, Attributes = node.Attributes() }; foreach (var node in q) { foreach (var attribute in node.Attributes) { if (attribute.Name == "value") { attribute.SetValue(AMOUNT); } } } doc.Save(pth); MsgBx.Msg("Cheat - Change Silo Capacity - has been applied to " + saveGame.GetLastFolderName(), "Cheat"); }
private static void DeleteMods() { var reg = new AtsRegWork(true); var gam = reg.Read(RegKeys.CURRENT_GAME); string pth; IEnumerable <string> lst; switch (gam) { case "ATS": pth = reg.Read(AtsRegKeys.ATS_GAME_MOD_FOLDER); if (!pth.FolderExists()) { return; } lst = GetFilesFolders.GetFiles(pth, "*.*"); foreach (var t in lst) { try { DeleteFile(t); } catch (Exception g) { MsgBx.Msg(g.ToString(), "Error"); } } FolderCreator.CreatePublicFolders(reg.Read(AtsRegKeys.ATS_GAME_MOD_FOLDER)); break; case "ETS": pth = reg.Read(EtsRegKeys.ETS_GAME_MOD_FOLDER); if (!pth.FolderExists()) { return; } lst = GetFilesFolders.GetFiles(pth, "*.*"); foreach (var s in lst) { try { DeleteFile(s); } catch (Exception g) { MsgBx.Msg(g.ToString(), "Error"); } } FolderCreator.CreatePublicFolders(reg.Read(EtsRegKeys.ETS_GAME_MOD_FOLDER)); break; } }
/// <summary> /// Creates the sym link. /// </summary> /// <param name="symLinkFileName">Name of the file.</param> /// <param name="targetName">Name of the target.</param> /// <param name="num">The number.</param> /// <exception cref="Win32Exception"></exception> public static void CreateSymLink(string symLinkFileName, string targetName, uint num) { if (symLinkFileName.FileExists()) { return; } var success = CreateSymbolicLink(symLinkFileName, targetName, num); if (success) { return; } // var error = Marshal.GetLastWin32Error(); MsgBx.Msg("There was a problem with the path creating the link, link creation failure", "Link Creator"); }
/// <summary> /// Removes the mod. /// </summary> /// <param name="key">The key.</param> /// <returns></returns> public Dictionary <string, string> ProfileRemoveMod(string key) { var reg = new AtsRegWork(true); var gam = reg.Read(RegKeys.CURRENT_GAME); var profile = reg.Read(RegKeys.CURRENT_PROFILE); var modPath = string.Empty; switch (gam) { case "ATS": modPath = reg.Read(AtsRegKeys.ATS_PROFILES) + profile + "\\" + profile + XML_EXT; break; case "ETS": modPath = reg.Read(EtsRegKeys.ETS_PROFILES) + profile + "\\" + profile + XML_EXT; break; case "FS15": modPath = reg.Read(Fs15RegKeys.FS15_PROFILES) + profile + "\\" + profile + XML_EXT; break; case "FS17": modPath = reg.Read(Fs17RegKeys.FS17_PROFILES) + profile + "\\" + profile + XML_EXT; break; } var dic = Serializer.DeserializeDictionary(modPath); if (dic.Any(v => string.Equals(v.Key, key, StringComparison.OrdinalIgnoreCase))) { var mod = reg.Read(Fs17RegKeys.FS17_PROFILES) + profile + "\\" + key; dic.Remove(key); DeleteFiles.DeleteFilesOrFolders(mod); var ls = new ListCreator(); ls.CreateSortedLists(); ls.SortedFileListComplete(); MsgBx.Msg("Operation completed successfully", "Mod Remover"); } Serializer.SerializeDictionary(modPath, dic); return(dic); }