2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "AStar2D"  inherits= "RefCounted"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 22:59:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										An implementation of A* for finding the shortest path between two vertices on a connected graph in 2D space.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 22:59:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										An implementation of the A* algorithm, used to find the shortest path between two vertices on a connected graph in 2D space.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										See [AStar3D] for a more thorough explanation on how to use this class. [AStar2D] is a wrapper for [AStar3D] that enforces 2D coordinates.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-21 22:52:44 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "_compute_cost"  qualifiers= "virtual const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "from_id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "to_id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-14 10:22:34 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Called when computing the cost between two connected points.
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 22:59:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Note that this function is hidden in the default [AStar2D] class.
							 
						 
					
						
							
								
									
										
										
										
											2020-03-14 10:22:34 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-08-21 22:52:44 -03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "_estimate_cost"  qualifiers= "virtual const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "from_id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2024-05-19 22:08:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "1"  name= "end_id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-03-14 10:22:34 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Called when estimating the cost between a point and the path's ending point.
							 
						 
					
						
							
								
									
										
										
										
											2023-04-28 22:59:03 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Note that this function is hidden in the default [AStar2D] class.
							 
						 
					
						
							
								
									
										
										
										
											2020-03-14 10:22:34 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "add_point" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "position"  type= "Vector2"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "2"  name= "weight_scale"  type= "float"  default= "1.0"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Adds a new point at the given position with the given identifier. The [param id] must be 0 or larger, and the [param weight_scale] must be 0.0 or greater.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												The [param weight_scale] is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point. Thus, all else being equal, the algorithm prefers points with lower [param weight_scale]s to form a path.
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var astar = AStar2D.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(1, Vector2(1, 0), 4) # Adds the point (1, 0) with weight_scale 4 and id 1
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var astar = new AStar2D();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(1, new Vector2(1, 0), 4); // Adds the point (1, 0) with weight_scale 4 and id 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												If there already exists a point for the given [param id], its position and weight scale are updated to the given values.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "are_points_connected"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "to_id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "2"  name= "bidirectional"  type= "bool"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns whether there is a connection/segment between the given points. If [param bidirectional] is [code]false[/code], returns whether movement from [param id] to [param to_id] is possible through this segment.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "clear" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Clears all the points and segments.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "connect_points" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "to_id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "2"  name= "bidirectional"  type= "bool"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Creates a segment between the given points. If [param bidirectional] is [code]false[/code], only movement from [param id] to [param to_id] is allowed, not the reverse direction.
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var astar = AStar2D.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(1, Vector2(1, 1))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(2, Vector2(0, 5))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.connect_points(1, 2, false)
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var astar = new AStar2D();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(1, new Vector2(1, 1));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(2, new Vector2(0, 5));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(1, 2, false);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "disconnect_points" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "to_id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "2"  name= "bidirectional"  type= "bool"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Deletes the segment between the given points. If [param bidirectional] is [code]false[/code], only movement from [param id] to [param to_id] is prevented, and a unidirectional segment possibly remains.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_available_point_id"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the next available point ID with no point associated to it.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_closest_point"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "to_position"  type= "Vector2"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "include_disabled"  type= "bool"  default= "false"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the ID of the closest point to [param to_position], optionally taking disabled points into account. Returns [code]-1[/code] if there are no points in the points pool.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[b]Note:[/b] If several points are the closest to [param to_position], the one with the smallest ID will be returned, ensuring a deterministic result.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_closest_position_in_segment"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "to_position"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the closest position to [param to_position] that resides inside a segment between two connected points.
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var astar = AStar2D.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(1, Vector2(0, 0))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(2, Vector2(0, 5))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.connect_points(1, 2)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var res = astar.get_closest_position_in_segment(Vector2(3, 3)) # Returns (0, 3)
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var astar = new AStar2D();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(1, new Vector2(0, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(2, new Vector2(0, 5));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(1, 2);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Vector2 res = astar.GetClosestPositionInSegment(new Vector2(3, 3)); // Returns (0, 3)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												The result is in the segment that goes from [code]y = 0[/code] to [code]y = 5[/code]. It's the closest position in the segment to the given point.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_id_path" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-16 11:56:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "PackedInt64Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "from_id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "to_id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-06 20:20:13 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "2"  name= "allow_partial_path"  type= "bool"  default= "false"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns an array with the IDs of the points that form the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
							 
						 
					
						
							
								
									
										
										
										
											2024-02-06 20:20:13 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												If there is no valid path to the target, and [param allow_partial_path] is [code]true[/code], returns a path to the point closest to the target that can be reached.
							 
						 
					
						
							
								
									
										
										
										
											2024-07-11 17:05:16 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param to_id] is disabled the search may take an unusually long time to finish.
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var astar = AStar2D.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(1, Vector2(0, 0))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(3, Vector2(1, 1))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(4, Vector2(2, 0))
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												astar.connect_points(1, 2, false)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.connect_points(2, 3, false)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.connect_points(4, 3, false)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.connect_points(1, 4, false)
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var astar = new AStar2D();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(1, new Vector2(0, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(3, new Vector2(1, 1));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(4, new Vector2(2, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(1, 2, false);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(2, 3, false);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(4, 3, false);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(1, 4, false);
							 
						 
					
						
							
								
									
										
										
										
											2024-08-23 00:11:40 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												If you change the 2nd point's weight to 3, then the result will be [code][1, 4, 3][/code] instead, because now even though the distance is longer, it's "easier" to get through point 4 than through point 2.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_point_capacity"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-02-17 17:30:22 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the capacity of the structure backing the points, useful in conjunction with [method reserve_space].
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "get_point_connections" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-06-16 11:56:12 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "PackedInt64Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-22 01:04:47 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns an array with the IDs of the points that form the connection with the given point.
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[codeblocks]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[gdscript]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var astar = AStar2D.new()
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(1, Vector2(0, 0))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(2, Vector2(0, 1))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(3, Vector2(1, 1))
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.add_point(4, Vector2(2, 0))
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												astar.connect_points(1, 2, true)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.connect_points(1, 3, true)
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-20 15:06:15 +05:30 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												var neighbors = astar.get_point_connections(1) # Returns [2, 3]
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/gdscript]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												var astar = new AStar2D();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(1, new Vector2(0, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(2, new Vector2(0, 1));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(3, new Vector2(1, 1));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.AddPoint(4, new Vector2(2, 0));
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(1, 2, true);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												astar.ConnectPoints(1, 3, true);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-08-23 00:11:40 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												long[] neighbors = astar.GetPointConnections(1); // Returns [2, 3]
							 
						 
					
						
							
								
									
										
										
										
											2020-07-31 16:07:26 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[/csharp]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												[/codeblocks]
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_point_count"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns the number of points currently in the points pool.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-10 02:34:50 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_point_ids" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-05 03:41:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "PackedInt64Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-05-10 02:34:50 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns an array of all point IDs.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "get_point_path" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "PackedVector2Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "from_id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "to_id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-06 20:20:13 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "2"  name= "allow_partial_path"  type= "bool"  default= "false"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns an array with the points that are in the path found by AStar2D between the given points. The array is ordered from the starting point to the ending point of the path.
							 
						 
					
						
							
								
									
										
										
										
											2024-02-06 20:20:13 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												If there is no valid path to the target, and [param allow_partial_path] is [code]true[/code], returns a path to the point closest to the target that can be reached.
							 
						 
					
						
							
								
									
										
										
										
											2024-03-24 19:50:59 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it will return an empty array and will print an error message.
							 
						 
					
						
							
								
									
										
										
										
											2024-07-11 17:05:16 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Additionally, when [param allow_partial_path] is [code]true[/code] and [param to_id] is disabled the search may take an unusually long time to finish.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_point_position"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the position of the point associated with the given [param id].
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "get_point_weight_scale"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the weight scale of the point associated with the given [param id].
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "has_point"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns whether a point associated with the given [param id] exists.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "is_point_disabled"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "bool"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns whether a point is disabled or not for pathfinding. By default, all points are enabled.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "remove_point" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Removes the point associated with the given [param id] from the points pool.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "reserve_space" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "num_nodes"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2024-08-18 18:51:37 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Reserves space internally for [param num_nodes] points. Useful if you're adding a known large number of points at once, such as points on a grid. The new capacity must be greater or equal to the old capacity.
							 
						 
					
						
							
								
									
										
										
										
											2019-08-25 21:30:52 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "set_point_disabled" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "disabled"  type= "bool"  default= "true"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Disables or enables the specified point for pathfinding. Useful for making a temporary obstacle.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "set_point_position" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "position"  type= "Vector2"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Sets the [param position] for the point with the given [param id].
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<method  name= "set_point_weight_scale" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "id"  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "1"  name= "weight_scale"  type= "float"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-12 13:51:01 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Sets the [param weight_scale] for the point with the given [param id]. The [param weight_scale] is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point.
							 
						 
					
						
							
								
									
										
										
										
											2019-03-19 19:15:59 +03:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>