void WriteLevel(LgLevel level, Dictionary <Rail, int> railsToIds, int nodeCountOnLevel) { WriteStartElement(GeometryToken.Level); WriteAttribute(GeometryToken.NodeCountOnLevel, nodeCountOnLevel); WriteLevelRails(level, railsToIds); WriteEndElement(); }
void WriteRailsGeometry(LgLevel level, Dictionary <Rail, int> railIds) { WriteStartElement(GeometryToken.Rails); foreach (var rail in level._railDictionary.Values) { WriteRail(rail, railIds[rail]); } WriteEndElement(); }
void WriteLevelRails(LgLevel level, Dictionary <Rail, int> railIds) { WriteStartElement(GeometryToken.RailsPerEdge); foreach (var t in level._railsOfEdges) { WriteEdgeRails(t.Key, t.Value, railIds); } WriteEndElement(); WriteRailsGeometry(level, railIds); }