private static float GetHighwayWidth(HighwayTypeEnum type) { float result = 0; switch (type) { case HighwayTypeEnum.Motorway: result = HighwaysConstants.motorwayWidth; break; case HighwayTypeEnum.Trunk: result = HighwaysConstants.trunkWidth; break; case HighwayTypeEnum.Primary: result = HighwaysConstants.primaryWidth; break; case HighwayTypeEnum.Secondary: result = HighwaysConstants.secondaryWidth; break; case HighwayTypeEnum.Tertiary: result = HighwaysConstants.tertiaryWidth; break; case HighwayTypeEnum.Residential: result = HighwaysConstants.residentialWidth; break; case HighwayTypeEnum.Service: result = HighwaysConstants.serviceWidth; break; case HighwayTypeEnum.Construction: result = HighwaysConstants.proposedWidth; break; case HighwayTypeEnum.Proposed: result = HighwaysConstants.underConstruction; break; case HighwayTypeEnum.Cycleway: result = HighwaysConstants.cycleway; break; default: result = HighwaysConstants.defaultWidth; break; } return(result * Assets.Scripts.Constants.Constants.Scale); }
public static GameObject CreateHighway(OsmWay highwayData, OsmBounds bounds, Transform parent) { Vector3[] linePoints = new Vector3[highwayData.Nodes.Count]; for (int i = 0; i < highwayData.Nodes.Count; i++) { linePoints[i] = OsmToUnityConverter.GetPointFromUnityPointVec3(highwayData.Nodes[i].Point, bounds); } HighwayTypeEnum type = OSMtoSharp.Enums.Helpers.EnumExtensions. GetTagKeyEnum <HighwayTypeEnum> (highwayData.Tags[TagKeyEnum.Highway]); float width = GetHighwayWidth(type); Color color = GetHighwayColor(type); GameObject result = LineFactory.CreateLine(linePoints, width, color, new Material(Shader.Find("Sprites/Default"))); if (highwayData.Tags.ContainsKey(TagKeyEnum.Name)) { result.name = highwayData.Tags[TagKeyEnum.Name]; CreateRoadNameLabel(linePoints, result.name, result.transform); } else { result.name = "<highway>"; } result.transform.parent = parent; return(result); }
private static Color GetHighwayColor(HighwayTypeEnum type) { switch (type) { case HighwayTypeEnum.Motorway: return(HighwaysConstants.motorwayColor); case HighwayTypeEnum.Trunk: return(HighwaysConstants.trunkColor); case HighwayTypeEnum.Primary: return(HighwaysConstants.primaryColor); case HighwayTypeEnum.Secondary: return(HighwaysConstants.secondaryColor); case HighwayTypeEnum.Cycleway: return(HighwaysConstants.cycleColor); default: return(HighwaysConstants.defaultColor); } }