internal static void LoadRoadsFromFile() { Debug.Log("Loading roads from file..."); XmlRoads _xmlRoads = XmlRoadHandler.LoadRoads(); foreach (XmlRoad road in _xmlRoads.roads) { RoadContainer _container = new RoadContainer(); List <OSM.OSMWayTag> _tags = new List <OSM.OSMWayTag>(); _container.inGameNamePostfix = road.postfix; _container.inGameNamePrefix = road.prefix; _container.linkedOption = road.linkedOption; _container.roadType = Enum.Parse(typeof(RoadContainer.Type), road.roadType) as RoadContainer.Type? ?? RoadContainer.Type.Unknown; _container.searchLimit = Enum.Parse(typeof(RoadContainer.Limit), road.searchLimit) as RoadContainer.Limit? ?? RoadContainer.Limit.None; foreach (XmlOSMTag tag in road.tags) { _tags.Add(new OSM.OSMWayTag() { k = tag.key, v = tag.value }); } _container.tags = _tags; Debug.Log("Added " + road.prefix + " " + road.postfix); roads.Add(_container); } }
public static XmlRoads LoadRoads() { XmlRoads roads = null; try { string modPath = CimToolsHandler.CimToolBase.Path.GetModPath(); XmlSerializer _serialiser = new XmlSerializer(typeof(XmlRoads)); TextReader _xmlReader = new StreamReader(modPath + Path.DirectorySeparatorChar + "roadDefinitions.xml"); roads = _serialiser.Deserialize(_xmlReader) as XmlRoads; } catch { Debug.LogError("Cimtographer couldn't load in the roads XML file!"); } return(roads); }