Update for Callable in NavigationAgent callbacks

This commit is contained in:
Josh Jones
2023-01-27 23:59:34 -08:00
parent 9eb73f0295
commit 8bfe0ee753
2 changed files with 9 additions and 7 deletions

View File

@@ -50,9 +50,7 @@ To receive safe_velocity signals for avoidance for the agent a callback needs to
extends Node3D
var agent_rid : RID = NavigationServer3D.agent_create()
var agent_node3d : Node3D = self
var callback_function_name : StringName = "on_safe_velocity_computed"
NavigationServer3D.agent_set_callback(agent_rid, agent_node3d, callback_function_name)
NavigationServer3D.agent_set_callback(agent_rid, self.on_safe_velocity_computed)
func on_safe_velocity_computed(safe_velocity : Vector3):
# do your avoidance movement

View File

@@ -127,8 +127,10 @@ used to create or delete avoidance callbacks for the agent RID.
extends NavigationAgent2D
var agent : RID = get_rid()
NavigationServer2D::get_singleton()->agent_set_callback(agent, self, "_avoidance_done")
NavigationServer2D::get_singleton()->agent_set_callback(agent, null, "_avoidance_done")
# Enable
NavigationServer2D::get_singleton()->agent_set_callback(agent, self._avoidance_done)
# Disable
NavigationServer2D::get_singleton()->agent_set_callback(agent, Callable())
.. tabs::
.. code-tab:: gdscript GDScript
@@ -136,8 +138,10 @@ used to create or delete avoidance callbacks for the agent RID.
extends NavigationAgent3D
var agent : RID = get_rid()
NavigationServer3D::get_singleton()->agent_set_callback(agent, self, "_avoidance_done")
NavigationServer3D::get_singleton()->agent_set_callback(agent, null, "_avoidance_done")
# Enable
NavigationServer3D::get_singleton()->agent_set_callback(agent, self._avoidance_done)
# Disable
NavigationServer3D::get_singleton()->agent_set_callback(agent, Callable())
NavigationAgent Script Templates
--------------------------------