public override void LoadFile() { var streamStart = Reader.BaseStream.Position; var isList = Reader.ReadUInt32() != 0; Reader.BaseStream.Position = streamStart; if (!isList) { throw new InvalidOperationException("Error parsing pcb list"); } Nodes = PcbNodeList.Read(Reader); }
public static PcbNodeList Read(BinaryReader reader) { var nodeList = new PcbNodeList { Children = new ListNode[reader.ReadUInt32()], BoundingBox = Common.BoundingBox.Read(reader) }; // Padding reader.BaseStream.Position += 4; for (var i = 0; i < nodeList.Children.Length; i++) { nodeList.Children[i] = ListNode.Read(reader); } return(nodeList); }