digitsensitive / astar-typescript

A* search algorithm in TypeScript
MIT License
87 stars 18 forks source link

accepted tile #22

Open ghost opened 3 years ago

ghost commented 3 years ago

Hi! How i set the accepted tile on the grid? By default, the astar accept the 0 and 1, but I would like to add the 2, 3, 4 ecc up to 9

veleek commented 3 years ago

The current code appears to accept any boolean-ish value:

https://github.com/digitsensitive/astar-typescript/blob/8c955f67d814281c9068d0a371c79a88b8dd84aa/lib/core/grid.ts#L88

0, false, null, undefined should map to unwalkable, everything else should be walkable.

But providing a predicate to the config to determine if the value is acceptable would be good too. And at the same time accepting an object array instead of a numeric array would be useful so that I can pass in an array of Tile objects (I'm using Phaser tilemaps in this case) and have a callback that determines whether that tile is walkable or not.