public void Load(byte[] data, RpfFileEntry entry) { Name = entry.Name; RpfFileEntry = entry; RpfResourceFileEntry resentry = entry as RpfResourceFileEntry; if (resentry == null) { throw new Exception("File entry wasn't a resource! (is it binary data?)"); } ResourceDataReader rd = new ResourceDataReader(resentry, data); //MemoryUsage = 0; try { Records = rd.ReadBlock <VehicleRecordList>(); } catch (Exception ex) { string err = ex.ToString(); } Loaded = true; }
public static VehicleRecordList ReadXmlNode(XmlNode node) { if (node == null) { return(null); } var l = new VehicleRecordList(); l.ReadXml(node); return(l); }
public static string GetXml(YvrFile yvr) { StringBuilder sb = new StringBuilder(); sb.AppendLine(XmlHeader); if (yvr?.Records != null) { VehicleRecordList.WriteXmlNode(yvr.Records, sb, 0); } return(sb.ToString()); }
public static YvrFile GetYvr(XmlDocument doc, string inputFolder = "") { YvrFile r = new YvrFile(); var node = doc.DocumentElement; if (node != null) { r.Records = VehicleRecordList.ReadXmlNode(node); } r.Name = Path.GetFileName(inputFolder); return(r); }
public static void WriteXmlNode(VehicleRecordList l, StringBuilder sb, int indent, string name = "VehicleRecordList") { if (l == null) { return; } if ((l.Entries?.data_items == null) || (l.Entries.data_items.Length == 0)) { YvrXml.SelfClosingTag(sb, indent, name); } else { YvrXml.OpenTag(sb, indent, name); l.WriteXml(sb, indent + 1); YvrXml.CloseTag(sb, indent, name); } }