diff options
| author | smix8 <52464204+smix8@users.noreply.github.com> | 2023-03-12 02:36:16 +0100 | 
|---|---|---|
| committer | Yuri Sizov <yuris@humnom.net> | 2023-03-16 16:45:07 +0100 | 
| commit | bea2da94da07b5cda93b59e2293ac0edde7e6aa5 (patch) | |
| tree | 074d8ad86c8157db6ae311111bbe677b364c847d | |
| parent | c6a704af2cc6b0bef66c61c83247aa65e6a664ef (diff) | |
Allow negative NavigationAgent2D path debug line_width for thin lines
Allows the line_width for NavigationAgent2D path debug to go negativ for thin line rendering.
(cherry picked from commit f6a10c0565e32e0170bcce71635d8bad16077d1d)
| -rw-r--r-- | doc/classes/NavigationAgent2D.xml | 2 | ||||
| -rw-r--r-- | scene/2d/navigation_agent_2d.cpp | 10 | ||||
| -rw-r--r-- | scene/2d/navigation_agent_2d.h | 2 | 
3 files changed, 9 insertions, 5 deletions
diff --git a/doc/classes/NavigationAgent2D.xml b/doc/classes/NavigationAgent2D.xml index c6d03fb6d8..06ce32597f 100644 --- a/doc/classes/NavigationAgent2D.xml +++ b/doc/classes/NavigationAgent2D.xml @@ -117,7 +117,7 @@  		<member name="debug_path_custom_color" type="Color" setter="set_debug_path_custom_color" getter="get_debug_path_custom_color" default="Color(1, 1, 1, 1)">  			If [member debug_use_custom] is [code]true[/code] uses this color for this agent instead of global color.  		</member> -		<member name="debug_path_custom_line_width" type="float" setter="set_debug_path_custom_line_width" getter="get_debug_path_custom_line_width" default="1.0"> +		<member name="debug_path_custom_line_width" type="float" setter="set_debug_path_custom_line_width" getter="get_debug_path_custom_line_width" default="-1.0">  			If [member debug_use_custom] is [code]true[/code] uses this line width for rendering paths for this agent instead of global line width.  		</member>  		<member name="debug_path_custom_point_size" type="float" setter="set_debug_path_custom_point_size" getter="get_debug_path_custom_point_size" default="4.0"> diff --git a/scene/2d/navigation_agent_2d.cpp b/scene/2d/navigation_agent_2d.cpp index bfe2f6252e..157318125b 100644 --- a/scene/2d/navigation_agent_2d.cpp +++ b/scene/2d/navigation_agent_2d.cpp @@ -124,8 +124,8 @@ void NavigationAgent2D::_bind_methods() {  	ADD_PROPERTY(PropertyInfo(Variant::BOOL, "debug_enabled"), "set_debug_enabled", "get_debug_enabled");  	ADD_PROPERTY(PropertyInfo(Variant::BOOL, "debug_use_custom"), "set_debug_use_custom", "get_debug_use_custom");  	ADD_PROPERTY(PropertyInfo(Variant::COLOR, "debug_path_custom_color"), "set_debug_path_custom_color", "get_debug_path_custom_color"); -	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "debug_path_custom_point_size", PROPERTY_HINT_RANGE, "1,50,1,suffix:px"), "set_debug_path_custom_point_size", "get_debug_path_custom_point_size"); -	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "debug_path_custom_line_width", PROPERTY_HINT_RANGE, "1,50,1,suffix:px"), "set_debug_path_custom_line_width", "get_debug_path_custom_line_width"); +	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "debug_path_custom_point_size", PROPERTY_HINT_RANGE, "0,50,0.01,or_greater,suffix:px"), "set_debug_path_custom_point_size", "get_debug_path_custom_point_size"); +	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "debug_path_custom_line_width", PROPERTY_HINT_RANGE, "-1,50,0.01,or_greater,suffix:px"), "set_debug_path_custom_line_width", "get_debug_path_custom_line_width");  	ADD_SIGNAL(MethodInfo("path_changed"));  	ADD_SIGNAL(MethodInfo("target_reached")); @@ -734,7 +734,7 @@ void NavigationAgent2D::set_debug_path_custom_point_size(float p_point_size) {  		return;  	} -	debug_path_custom_point_size = MAX(0.1, p_point_size); +	debug_path_custom_point_size = MAX(0.0, p_point_size);  	debug_path_dirty = true;  #endif // DEBUG_ENABLED  } @@ -803,6 +803,10 @@ void NavigationAgent2D::_update_debug_path() {  	RenderingServer::get_singleton()->canvas_item_add_polyline(debug_path_instance, navigation_path, debug_path_colors, debug_path_custom_line_width, false); +	if (debug_path_custom_point_size <= 0.0) { +		return; +	} +  	float point_size = NavigationServer2D::get_singleton()->get_debug_navigation_agent_path_point_size();  	float half_point_size = point_size * 0.5; diff --git a/scene/2d/navigation_agent_2d.h b/scene/2d/navigation_agent_2d.h index 1614c70229..97c5d94483 100644 --- a/scene/2d/navigation_agent_2d.h +++ b/scene/2d/navigation_agent_2d.h @@ -76,7 +76,7 @@ class NavigationAgent2D : public Node {  	// Debug properties for exposed bindings  	bool debug_enabled = false;  	float debug_path_custom_point_size = 4.0; -	float debug_path_custom_line_width = 1.0; +	float debug_path_custom_line_width = -1.0;  	bool debug_use_custom = false;  	Color debug_path_custom_color = Color(1.0, 1.0, 1.0, 1.0);  #ifdef DEBUG_ENABLED  |