You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-10 13:00:37 +00:00
Fix Navigation API abbreviations inconsistency
Schema for navigation to name user facing API with "navigation" without abbreviation and e.g. NavigationServer internals with abbr "nav".
This commit is contained in:
@@ -230,7 +230,7 @@ void GridMap::set_navigation_map(RID p_navigation_map) {
|
||||
map_override = p_navigation_map;
|
||||
for (const KeyValue<OctantKey, Octant *> &E : octant_map) {
|
||||
Octant &g = *octant_map[E.key];
|
||||
for (KeyValue<IndexKey, Octant::NavMesh> &F : g.navmesh_ids) {
|
||||
for (KeyValue<IndexKey, Octant::NavigationCell> &F : g.navigation_cell_ids) {
|
||||
if (F.value.region.is_valid()) {
|
||||
NavigationServer3D::get_singleton()->region_set_map(F.value.region, map_override);
|
||||
}
|
||||
@@ -542,13 +542,13 @@ void GridMap::_octant_transform(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
// update transform for NavigationServer regions and navigation debugmesh instances
|
||||
for (const KeyValue<IndexKey, Octant::NavMesh> &E : g.navmesh_ids) {
|
||||
for (const KeyValue<IndexKey, Octant::NavigationCell> &E : g.navigation_cell_ids) {
|
||||
if (bake_navigation) {
|
||||
if (E.value.region.is_valid()) {
|
||||
NavigationServer3D::get_singleton()->region_set_transform(E.value.region, get_global_transform() * E.value.xform);
|
||||
}
|
||||
if (E.value.navmesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->instance_set_transform(E.value.navmesh_debug_instance, get_global_transform() * E.value.xform);
|
||||
if (E.value.navigation_mesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->instance_set_transform(E.value.navigation_mesh_debug_instance, get_global_transform() * E.value.xform);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -574,13 +574,13 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
//erase navigation
|
||||
for (const KeyValue<IndexKey, Octant::NavMesh> &E : g.navmesh_ids) {
|
||||
for (const KeyValue<IndexKey, Octant::NavigationCell> &E : g.navigation_cell_ids) {
|
||||
NavigationServer3D::get_singleton()->free(E.value.region);
|
||||
if (E.value.navmesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->free(E.value.navmesh_debug_instance);
|
||||
if (E.value.navigation_mesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->free(E.value.navigation_mesh_debug_instance);
|
||||
}
|
||||
}
|
||||
g.navmesh_ids.clear();
|
||||
g.navigation_cell_ids.clear();
|
||||
|
||||
//erase multimeshes
|
||||
|
||||
@@ -648,17 +648,17 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
}
|
||||
}
|
||||
|
||||
// add the item's navmesh at given xform to GridMap's Navigation ancestor
|
||||
Ref<NavigationMesh> navmesh = mesh_library->get_item_navmesh(c.item);
|
||||
if (navmesh.is_valid()) {
|
||||
Octant::NavMesh nm;
|
||||
nm.xform = xform * mesh_library->get_item_navmesh_transform(c.item);
|
||||
// add the item's navigation_mesh at given xform to GridMap's Navigation ancestor
|
||||
Ref<NavigationMesh> navigation_mesh = mesh_library->get_item_navigation_mesh(c.item);
|
||||
if (navigation_mesh.is_valid()) {
|
||||
Octant::NavigationCell nm;
|
||||
nm.xform = xform * mesh_library->get_item_navigation_mesh_transform(c.item);
|
||||
|
||||
if (bake_navigation) {
|
||||
RID region = NavigationServer3D::get_singleton()->region_create();
|
||||
NavigationServer3D::get_singleton()->region_set_owner_id(region, get_instance_id());
|
||||
NavigationServer3D::get_singleton()->region_set_navigation_layers(region, navigation_layers);
|
||||
NavigationServer3D::get_singleton()->region_set_navmesh(region, navmesh);
|
||||
NavigationServer3D::get_singleton()->region_set_navigation_mesh(region, navigation_mesh);
|
||||
NavigationServer3D::get_singleton()->region_set_transform(region, get_global_transform() * nm.xform);
|
||||
if (is_inside_tree()) {
|
||||
if (map_override.is_valid()) {
|
||||
@@ -673,19 +673,19 @@ bool GridMap::_octant_update(const OctantKey &p_key) {
|
||||
// add navigation debugmesh visual instances if debug is enabled
|
||||
SceneTree *st = SceneTree::get_singleton();
|
||||
if (st && st->is_debugging_navigation_hint()) {
|
||||
if (!nm.navmesh_debug_instance.is_valid()) {
|
||||
RID navmesh_debug_rid = navmesh->get_debug_mesh()->get_rid();
|
||||
nm.navmesh_debug_instance = RS::get_singleton()->instance_create();
|
||||
RS::get_singleton()->instance_set_base(nm.navmesh_debug_instance, navmesh_debug_rid);
|
||||
if (!nm.navigation_mesh_debug_instance.is_valid()) {
|
||||
RID navigation_mesh_debug_rid = navigation_mesh->get_debug_mesh()->get_rid();
|
||||
nm.navigation_mesh_debug_instance = RS::get_singleton()->instance_create();
|
||||
RS::get_singleton()->instance_set_base(nm.navigation_mesh_debug_instance, navigation_mesh_debug_rid);
|
||||
}
|
||||
if (is_inside_tree()) {
|
||||
RS::get_singleton()->instance_set_scenario(nm.navmesh_debug_instance, get_world_3d()->get_scenario());
|
||||
RS::get_singleton()->instance_set_transform(nm.navmesh_debug_instance, get_global_transform() * nm.xform);
|
||||
RS::get_singleton()->instance_set_scenario(nm.navigation_mesh_debug_instance, get_world_3d()->get_scenario());
|
||||
RS::get_singleton()->instance_set_transform(nm.navigation_mesh_debug_instance, get_global_transform() * nm.xform);
|
||||
}
|
||||
}
|
||||
#endif // DEBUG_ENABLED
|
||||
}
|
||||
g.navmesh_ids[E] = nm;
|
||||
g.navigation_cell_ids[E] = nm;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -775,14 +775,14 @@ void GridMap::_octant_enter_world(const OctantKey &p_key) {
|
||||
}
|
||||
|
||||
if (bake_navigation && mesh_library.is_valid()) {
|
||||
for (KeyValue<IndexKey, Octant::NavMesh> &F : g.navmesh_ids) {
|
||||
for (KeyValue<IndexKey, Octant::NavigationCell> &F : g.navigation_cell_ids) {
|
||||
if (cell_map.has(F.key) && F.value.region.is_valid() == false) {
|
||||
Ref<NavigationMesh> nm = mesh_library->get_item_navmesh(cell_map[F.key].item);
|
||||
if (nm.is_valid()) {
|
||||
Ref<NavigationMesh> navigation_mesh = mesh_library->get_item_navigation_mesh(cell_map[F.key].item);
|
||||
if (navigation_mesh.is_valid()) {
|
||||
RID region = NavigationServer3D::get_singleton()->region_create();
|
||||
NavigationServer3D::get_singleton()->region_set_owner_id(region, get_instance_id());
|
||||
NavigationServer3D::get_singleton()->region_set_navigation_layers(region, navigation_layers);
|
||||
NavigationServer3D::get_singleton()->region_set_navmesh(region, nm);
|
||||
NavigationServer3D::get_singleton()->region_set_navigation_mesh(region, navigation_mesh);
|
||||
NavigationServer3D::get_singleton()->region_set_transform(region, get_global_transform() * F.value.xform);
|
||||
if (map_override.is_valid()) {
|
||||
NavigationServer3D::get_singleton()->region_set_map(region, map_override);
|
||||
@@ -824,14 +824,14 @@ void GridMap::_octant_exit_world(const OctantKey &p_key) {
|
||||
RS::get_singleton()->instance_set_scenario(g.multimesh_instances[i].instance, RID());
|
||||
}
|
||||
|
||||
for (KeyValue<IndexKey, Octant::NavMesh> &F : g.navmesh_ids) {
|
||||
for (KeyValue<IndexKey, Octant::NavigationCell> &F : g.navigation_cell_ids) {
|
||||
if (F.value.region.is_valid()) {
|
||||
NavigationServer3D::get_singleton()->free(F.value.region);
|
||||
F.value.region = RID();
|
||||
}
|
||||
if (F.value.navmesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->free(F.value.navmesh_debug_instance);
|
||||
F.value.navmesh_debug_instance = RID();
|
||||
if (F.value.navigation_mesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->free(F.value.navigation_mesh_debug_instance);
|
||||
F.value.navigation_mesh_debug_instance = RID();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -862,15 +862,15 @@ void GridMap::_octant_clean_up(const OctantKey &p_key) {
|
||||
PhysicsServer3D::get_singleton()->free(g.static_body);
|
||||
|
||||
// Erase navigation
|
||||
for (const KeyValue<IndexKey, Octant::NavMesh> &E : g.navmesh_ids) {
|
||||
for (const KeyValue<IndexKey, Octant::NavigationCell> &E : g.navigation_cell_ids) {
|
||||
if (E.value.region.is_valid()) {
|
||||
NavigationServer3D::get_singleton()->free(E.value.region);
|
||||
}
|
||||
if (E.value.navmesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->free(E.value.navmesh_debug_instance);
|
||||
if (E.value.navigation_mesh_debug_instance.is_valid()) {
|
||||
RS::get_singleton()->free(E.value.navigation_mesh_debug_instance);
|
||||
}
|
||||
}
|
||||
g.navmesh_ids.clear();
|
||||
g.navigation_cell_ids.clear();
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (bake_navigation) {
|
||||
@@ -1390,7 +1390,7 @@ void GridMap::_update_octant_navigation_debug_edge_connections_mesh(const Octant
|
||||
|
||||
Vector<Vector3> vertex_array;
|
||||
|
||||
for (KeyValue<IndexKey, Octant::NavMesh> &F : g.navmesh_ids) {
|
||||
for (KeyValue<IndexKey, Octant::NavigationCell> &F : g.navigation_cell_ids) {
|
||||
if (cell_map.has(F.key) && F.value.region.is_valid()) {
|
||||
int connections_count = NavigationServer3D::get_singleton()->region_get_connections_count(F.value.region);
|
||||
if (connections_count == 0) {
|
||||
|
||||
Reference in New Issue
Block a user