33using MazeGenerators ;
44using MazeGenerators . Utils ;
55using BrainAI . Pathfinding ;
6+ using System . Collections . Generic ;
67
78public class Main : Node2D
89{
@@ -13,6 +14,7 @@ public class Main : Node2D
1314 Random = new Random ( 0 ) ,
1415 } ;
1516 IPathfinder < Point > pathfinder ;
17+ List < Point > paths ;
1618
1719 public override void _Ready ( )
1820 {
@@ -38,8 +40,8 @@ private void Timeout()
3840 tileMap . SetCellv ( new Godot . Vector2 ( x , y ) , 0 , autotileCoord : new Godot . Vector2 ( 0 , 0 ) ) ;
3941 }
4042
41- var result = pathfinder . ContinueSearch ( 1 ) ;
42- if ( result != null )
43+ pathfinder . ContinueSearch ( 1 , this . paths ) ;
44+ if ( this . paths . Count > 0 )
4345 {
4446 pathfinder = null ;
4547 }
@@ -49,21 +51,24 @@ private void BFSPressed()
4951 {
5052 var ( graph , start , end ) = BuildGraph ( ) ;
5153 this . pathfinder = new BreadthFirstPathfinder < Point > ( graph ) ;
52- pathfinder . Search ( start , end , 1 ) ;
54+ this . paths = new List < Point > ( ) ;
55+ pathfinder . Search ( start , end , 1 , this . paths ) ;
5356 }
5457
5558 private void DijkstraPressed ( )
5659 {
5760 var ( graph , start , end ) = BuildGraph ( ) ;
5861 this . pathfinder = new WeightedPathfinder < Point > ( graph ) ;
59- pathfinder . Search ( start , end , 1 ) ;
62+ this . paths = new List < Point > ( ) ;
63+ pathfinder . Search ( start , end , 1 , this . paths ) ;
6064 }
6165
6266 private void AStarPressed ( )
6367 {
6468 var ( graph , start , end ) = BuildGraph ( ) ;
6569 this . pathfinder = new AStarPathfinder < Point > ( graph ) ;
66- pathfinder . Search ( start , end , 1 ) ;
70+ this . paths = new List < Point > ( ) ;
71+ pathfinder . Search ( start , end , 1 , this . paths ) ;
6772 }
6873
6974 private ( GridGraph , Point , Point ) BuildGraph ( )
0 commit comments