Пример #1
0
        private static void DoTruckExtents(FileInfo targetXml)
        {
            var xml     = XmlHelpers.ReadFragments(targetXml.FullName);
            var extents = TruckHelpers.GetExtents(xml.Element("Truck"));

            Console.WriteLine($"Extents: {(extents.minX, extents.minY, extents.minZ)} .. {(extents.maxX, extents.maxY, extents.maxZ)}");
        }
Пример #2
0
        private static int DoTruckCraneSocketAddTopCentral(FileInfo targetXml)
        {
            var xml             = XmlHelpers.ReadFragments(targetXml.FullName);
            var truck           = xml.Element("Truck");
            var lastCraneSocket = truck.Element("GameData").Elements("CraneSocket").LastOrDefault();

            if (lastCraneSocket == null)
            {
                Console.WriteLine("No existing crane sockets found!");
                return(1);
            }
            var extents = TruckHelpers.GetExtents(truck);
            var pos     = $"(0; {extents.maxY:0.###}; 0)";

            Console.WriteLine($"{targetXml.Name}: adding new crane socket at {pos}");
            var newCraneSocket = new XElement("CraneSocket", new XAttribute("Pos", pos));

            lastCraneSocket.AddAfterSelf(newCraneSocket);
            lastCraneSocket.AddAfterSelf(new XText("\r\n\t\t"));
            XmlHelpers.WriteFragments(targetXml.FullName, xml.Nodes());
            return(0);
        }