private void GenerateRoad(RoadCell pointA, RoadCell pointB, RoadCellMap roadMap)
        {
            var end = roadMap.BuildPath(pointA, pointB).Result;

            //var path = roadMap.BuildPathUsingAStar(pointA, pointB);
            RenderPathToMap(pointB);
            RenderVectorSquare(pointA, 0, 255, 0);
            RenderVectorSquare(pointB, 0, 255, 0);
        }
        private void GenerateRoadsBetweenPois()
        {
            var roadMap = new RoadCellMap(_heightMap, 8);

            _poiLocations.Add(roadMap[100, 15]);
            _poiLocations.Add(roadMap[40, 120]);

            for (int poiIndex = 0; poiIndex < _poiLocations.Count - 1; poiIndex++)
            {
                if (_poiLocations.Count > 2 && poiIndex == _poiLocations.Count - 1)
                {
                    GenerateRoad(_poiLocations[poiIndex], _poiLocations[0], roadMap);
                }
                else
                {
                    GenerateRoad(_poiLocations[poiIndex], _poiLocations[poiIndex + 1], roadMap);
                }
            }
        }
        private void GenerateRoad(ITypedPathCell <T> pointA, ITypedPathCell <T> pointB, RoadCellMap <T> roadMap)
        {
            var end = roadMap.BuildPath(pointA, pointB).Result;

            RenderPathToMap(pointB);
            RenderVectorSquare(pointA, 0, 255, 0);
            RenderVectorSquare(pointB, 0, 255, 0);
        }