Interface ITraversalProvider
Provides additional traversal information to a path request.
Example implementation: public class MyCustomTraversalProvider : ITraversalProvider { 
    public bool CanTraverse (Path path, GraphNode node) {
        // Make sure that the node is walkable and that the 'enabledTags' bitmask
        // includes the node's tag.
        return node.Walkable && (path.enabledTags >> (int)node.Tag & 0x1) != 0;
        // alternatively:
        // return DefaultITraversalProvider.CanTraverse(path, node);
    }
    public bool CanTraverse (Path path, GraphNode from, GraphNode to) {
        return CanTraverse(path, to);
    }
    public uint GetTraversalCost (Path path, GraphNode node) {
        // The traversal cost is the sum of the penalty of the node's tag and the node's penalty
        return path.GetTagPenalty((int)node.Tag) + node.Penalty;
        // alternatively:
        // return DefaultITraversalProvider.GetTraversalCost(path, node);
    }
}
Public Methods
True if node should be able to be traversed by the path.
True if the path can traverse a link between from and to and if to can be traversed itself.
Cost of traversing a given node.