/// <summary> /// Rename all trucks to include their mass in the name. /// </summary> public static void RenameTrucks(DirectoryInfo directory, GameLanguage language) { var directoryLocation = IOHelpers.NormalizeDirectory(directory.FullName); var strings = GetStrings(directory, language, out var stringsMap, out var stringsLocation); Console.WriteLine("Processing trucks data."); var newTruckNames = new List <KeyValuePair <string, string> > (); var trucks = Directory.EnumerateFiles(Path.Combine(directoryLocation, @"[media]\classes\trucks"), "*.xml"); foreach (var truckXmlLocation in trucks) { var root = XmlHelpers.ReadFragments(truckXmlLocation); var nameIdNode = root.Element("Truck")?.Element("GameData")?.Element("UiDesc")?.Attribute("UiName"); var nameId = nameIdNode?.Value; if (nameId == null) { continue; } var originalId = GetOriginalId(nameId); var mass = TruckHelpers.GetMass(root.Element("Truck")); if (mass < 100) { continue; } var newId = GetNewId(originalId, truckXmlLocation[directoryLocation.Length..]);