mirror of
https://github.com/godotengine/godot.git
synced 2025-02-17 00:01:03 +00:00
Fix NavigationAgent position not always updating
Fixes NavigationAgent position not always updating.
This commit is contained in:
parent
16dd4e5725
commit
34bc410fb4
@ -258,11 +258,13 @@ void NavigationAgent2D::_notification(int p_what) {
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: {
|
||||
if (agent_parent && avoidance_enabled) {
|
||||
NavigationServer2D::get_singleton()->agent_set_position(agent, agent_parent->get_global_position());
|
||||
}
|
||||
if (agent_parent && target_position_submitted) {
|
||||
if (velocity_submitted) {
|
||||
velocity_submitted = false;
|
||||
if (avoidance_enabled) {
|
||||
NavigationServer2D::get_singleton()->agent_set_position(agent, agent_parent->get_global_position());
|
||||
NavigationServer2D::get_singleton()->agent_set_velocity(agent, velocity);
|
||||
}
|
||||
}
|
||||
|
@ -273,11 +273,13 @@ void NavigationAgent3D::_notification(int p_what) {
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_INTERNAL_PHYSICS_PROCESS: {
|
||||
if (agent_parent && avoidance_enabled) {
|
||||
NavigationServer3D::get_singleton()->agent_set_position(agent, agent_parent->get_global_position());
|
||||
}
|
||||
if (agent_parent && target_position_submitted) {
|
||||
if (velocity_submitted) {
|
||||
velocity_submitted = false;
|
||||
if (avoidance_enabled) {
|
||||
NavigationServer3D::get_singleton()->agent_set_position(agent, agent_parent->get_global_transform().origin);
|
||||
if (!use_3d_avoidance) {
|
||||
stored_y_velocity = velocity.y;
|
||||
velocity.y = 0.0;
|
||||
|
Loading…
Reference in New Issue
Block a user