Beispiel #1
0
    public static List <TilePosition> CalculateAStarPahtTile(IGCalculator characterCalculator, TilePosition startTile, TilePosition endTile)
    {
        List <AStarPathNode> rawPath = CalculatePath(characterCalculator, startTile.ConvertToAStarPathNode(), endTile.ConvertToAStarPathNode());
        List <TilePosition>  result  = new List <TilePosition>();

        for (int i = 0; i < rawPath.Count; i++)
        {
            result.Add(rawPath[i].ConvertToTilePosition());
        }
        return(result);
    }
Beispiel #2
0
    public static List <TilePosition> CalculateAStarPathTile(int[,] weightMap, TilePosition startTile, TilePosition endTile)
    {
        ArrayGCalculator arrayCalculator = new ArrayGCalculator(weightMap);

        List <AStarPathNode> rawPath = CalculatePath(arrayCalculator, startTile.ConvertToAStarPathNode(), endTile.ConvertToAStarPathNode());
        List <TilePosition>  result  = new List <TilePosition>();

        for (int i = 0; i < rawPath.Count; i++)
        {
            result.Add(rawPath[i].ConvertToTilePosition());
        }
        return(result);
    }