public void Init(YndFile ynd, NodeJunction junc, NodeJunctionRef reff) { Ynd = ynd; RawData = junc; RefData = reff; MaxZ = junc.MaxZ; MinZ = junc.MinZ; PositionX = junc.PositionX; PositionY = junc.PositionY; }
public void ReadXml(XmlNode node) { NodesCountVehicle = Xml.GetChildUIntAttribute(node, "VehicleNodeCount", "value"); NodesCountPed = Xml.GetChildUIntAttribute(node, "PedNodeCount", "value"); List <Node> nodelist = new List <Node>(); List <NodeLink> linklist = new List <NodeLink>(); List <NodeJunction> junclist = new List <NodeJunction>(); List <byte> jhmblist = new List <byte>(); List <NodeJunctionRef> jreflist = new List <NodeJunctionRef>(); var nodesnode = node.SelectSingleNode("Nodes"); if (nodesnode != null) { var nodeitems = nodesnode.SelectNodes("Item"); foreach (XmlNode nodeitem in nodeitems) { XmlNodeWrapper n = new XmlNodeWrapper(linklist); n.ReadXml(nodeitem); nodelist.Add(n.Node); } } var juncsnode = node.SelectSingleNode("Junctions"); if (juncsnode != null) { var juncitems = juncsnode.SelectNodes("Item"); foreach (XmlNode juncitem in juncitems) { XmlJunctionWrapper j = new XmlJunctionWrapper(jhmblist); j.ReadXml(juncitem); junclist.Add(j.Junction); } } var jrefsnode = node.SelectSingleNode("JunctionRefs"); if (jrefsnode != null) { var jrefitems = jrefsnode.SelectNodes("Item"); foreach (XmlNode jrefitem in jrefitems) { NodeJunctionRef jref = new NodeJunctionRef(); jref.ReadXml(jrefitem); jreflist.Add(jref); } } NodesCount = (uint)nodelist.Count; Nodes = nodelist.ToArray(); LinksCount = (uint)linklist.Count; Links = linklist.ToArray(); JunctionsCount = (uint)junclist.Count; Junctions = junclist.ToArray(); JunctionHeightmapBytesCount = (uint)jhmblist.Count; JunctionHeightmapBytes = jhmblist.ToArray(); JunctionRefsCount0 = (ushort)jreflist.Count; JunctionRefsCount1 = JunctionRefsCount0; JunctionRefs = jreflist.ToArray(); }