feat: updated engine version to 4.4-rc1
This commit is contained in:
parent
ee00efde1f
commit
21ba8e33af
5459 changed files with 1128836 additions and 198305 deletions
|
|
@ -33,10 +33,6 @@
|
|||
#include "nav_agent.h"
|
||||
#include "nav_map.h"
|
||||
|
||||
NavObstacle::NavObstacle() {}
|
||||
|
||||
NavObstacle::~NavObstacle() {}
|
||||
|
||||
void NavObstacle::set_agent(NavAgent *p_agent) {
|
||||
if (agent == p_agent) {
|
||||
return;
|
||||
|
|
@ -45,6 +41,8 @@ void NavObstacle::set_agent(NavAgent *p_agent) {
|
|||
agent = p_agent;
|
||||
|
||||
internal_update_agent();
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
void NavObstacle::set_avoidance_enabled(bool p_enabled) {
|
||||
|
|
@ -56,6 +54,8 @@ void NavObstacle::set_avoidance_enabled(bool p_enabled) {
|
|||
obstacle_dirty = true;
|
||||
|
||||
internal_update_agent();
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
void NavObstacle::set_use_3d_avoidance(bool p_enabled) {
|
||||
|
|
@ -69,6 +69,8 @@ void NavObstacle::set_use_3d_avoidance(bool p_enabled) {
|
|||
if (agent) {
|
||||
agent->set_use_3d_avoidance(use_3d_avoidance);
|
||||
}
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
void NavObstacle::set_map(NavMap *p_map) {
|
||||
|
|
@ -76,6 +78,8 @@ void NavObstacle::set_map(NavMap *p_map) {
|
|||
return;
|
||||
}
|
||||
|
||||
cancel_sync_request();
|
||||
|
||||
if (map) {
|
||||
map->remove_obstacle(this);
|
||||
if (agent) {
|
||||
|
|
@ -89,6 +93,8 @@ void NavObstacle::set_map(NavMap *p_map) {
|
|||
if (map) {
|
||||
map->add_obstacle(this);
|
||||
internal_update_agent();
|
||||
|
||||
request_sync();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -103,6 +109,8 @@ void NavObstacle::set_position(const Vector3 p_position) {
|
|||
if (agent) {
|
||||
agent->set_position(position);
|
||||
}
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
void NavObstacle::set_radius(real_t p_radius) {
|
||||
|
|
@ -128,6 +136,8 @@ void NavObstacle::set_height(const real_t p_height) {
|
|||
if (agent) {
|
||||
agent->set_height(height);
|
||||
}
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
void NavObstacle::set_velocity(const Vector3 p_velocity) {
|
||||
|
|
@ -145,6 +155,8 @@ void NavObstacle::set_vertices(const Vector<Vector3> &p_vertices) {
|
|||
|
||||
vertices = p_vertices;
|
||||
obstacle_dirty = true;
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
bool NavObstacle::is_map_changed() {
|
||||
|
|
@ -168,12 +180,16 @@ void NavObstacle::set_avoidance_layers(uint32_t p_layers) {
|
|||
if (agent) {
|
||||
agent->set_avoidance_layers(avoidance_layers);
|
||||
}
|
||||
|
||||
request_sync();
|
||||
}
|
||||
|
||||
bool NavObstacle::check_dirty() {
|
||||
const bool was_dirty = obstacle_dirty;
|
||||
bool NavObstacle::is_dirty() const {
|
||||
return obstacle_dirty;
|
||||
}
|
||||
|
||||
void NavObstacle::sync() {
|
||||
obstacle_dirty = false;
|
||||
return was_dirty;
|
||||
}
|
||||
|
||||
void NavObstacle::internal_update_agent() {
|
||||
|
|
@ -216,3 +232,23 @@ void NavObstacle::set_paused(bool p_paused) {
|
|||
bool NavObstacle::get_paused() const {
|
||||
return paused;
|
||||
}
|
||||
|
||||
void NavObstacle::request_sync() {
|
||||
if (map && !sync_dirty_request_list_element.in_list()) {
|
||||
map->add_obstacle_sync_dirty_request(&sync_dirty_request_list_element);
|
||||
}
|
||||
}
|
||||
|
||||
void NavObstacle::cancel_sync_request() {
|
||||
if (map && sync_dirty_request_list_element.in_list()) {
|
||||
map->remove_obstacle_sync_dirty_request(&sync_dirty_request_list_element);
|
||||
}
|
||||
}
|
||||
|
||||
NavObstacle::NavObstacle() :
|
||||
sync_dirty_request_list_element(this) {
|
||||
}
|
||||
|
||||
NavObstacle::~NavObstacle() {
|
||||
cancel_sync_request();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue