private var last_pathfinding_evocation: Int = 0
# cost up to in current evocation
- # lifetime limited to evocation of path_to
+ # lifetime limited to evocation of `path_to`
private var best_cost_up_to: Int = 0
# source node
- # lifetime limited to evocation of path_to
+ # lifetime limited to evocation of `path_to`
private var best_source: nullable N = null
# is in frontier or buckets
- # lifetime limited to evocation of path_to
+ # lifetime limited to evocation of `path_to`
private var open: Bool = false
-
# Main functionnality, returns path from `self` to `dest`
- fun path_to(dest: Node, max_cost: Int, context: PathContext): nullable Path[N]
+ fun path_to(dest: N, max_cost: Int, context: PathContext): nullable Path[N]
do
var cost = 0
var nbr_buckets = context.worst_cost + context.worst_heuristic_cost + 1
- var buckets = new Array[List[Node]].with_capacity(nbr_buckets)
+ var buckets = new Array[List[N]].with_capacity(nbr_buckets)
for i in [0 .. nbr_buckets[ do
- buckets.add(new List[Node])
+ buckets.add(new List[N])
end
graph.pathfinding_current_evocation += 1
self.best_cost_up_to = 0
loop
- var frontier_node: nullable Node = null
+ var frontier_node: nullable N = null
var bucket_searched: Int = 0