private void VisualizeTile(MultithreadedOsmFileParser parser)
    {
        RetrieveRoads(parser.Tile, parser.Roads, parser.Areas);
        MultithreadedSurfacePainter painter = new MultithreadedSurfacePainter(
            MapWidth, parser.Tile, roadsQueue, areasQueue, nameToSurfaceLayer);

        painters.Add(painter);
        painter.Execute();
    }
Exemple #2
0
    public void VisualizeTile(MultithreadedOsmFileParser parser)
    {
        UpdateTerrainTransform(VisualizingManager.Instance.Tilemap.CenterTile);
        RetrieveRoads(parser.Tile, parser.Roads, parser.Areas);

        MultithreadedTerrainPainter painter = new MultithreadedTerrainPainter(
            tileAlphamapWidth, Terrain.terrainData.alphamapLayers, parser.Tile,
            tileSizeInMeters, roadsQueue, areasQueue, nameToTerrainLayer);

        painters.Add(painter);
        painter.Execute();
    }
    public void VisualizeTile(MultithreadedOsmFileParser parser)
    {
        foreach (var road in parser.Roads)
        {
            Road normalizedRoad = new Road(road.Lanes, road.Width,
                                           road.GetNodesRelatedToOrigin(VisualizingManager.Instance.OriginInMeters), road.Type);

            if (road.Type == Road.RoadType.Primary || road.Type == Road.RoadType.Secondary || road.Type == Road.RoadType.Tertiary)
            {
                InstantiateMarkup(parser.Tile, normalizedRoad);
            }
        }
    }
Exemple #4
0
    private void OnNetworkResponse(Tile tile, NetworkManager.RequestType type, string response)
    {
        if (!Tilemap.IsTileOnMap(tile))
        {
            return;
        }

        switch (type)
        {
        case NetworkManager.RequestType.OsmFile:
            MultithreadedOsmFileParser osmFileParser = new MultithreadedOsmFileParser(tile, response);
            osmFileParsers.Add(osmFileParser);
            osmFileParser.Execute();
            break;

        case NetworkManager.RequestType.GeoJSON:
            MultithreadedOsmGeoJSONParser osmGeoJSONParser = new MultithreadedOsmGeoJSONParser(tile, response);
            osmGeoJSONParsers.Add(osmGeoJSONParser);
            osmGeoJSONParser.Execute();
            break;
        }
    }
    public void VisualizeTile(MultithreadedOsmFileParser parser)
    {
        foreach (var way in parser.OsmFile.GetWays())
        {
            string barrierType = way.GetTagValue("barrier");

            if (barrierType == null)
            {
                continue;
            }

            List <OsmNode> nodes  = way.GetNodes();
            Vector2[]      points = new Vector2[nodes.Count];

            for (int i = 0; i < nodes.Count; i++)
            {
                points[i] = nodes[i].Coordinate - VisualizingManager.Instance.OriginInMeters;
            }

            Barrier barrier = new Barrier(points, Barrier.GetBarrierType(barrierType));

            InstantiateBarrier(parser.Tile, barrier);
        }
    }