You've already forked godot
							
							
				mirror of
				https://github.com/godotengine/godot.git
				synced 2025-11-04 12:00:25 +00:00 
			
		
		
		
	Make NavigationServer backend engine selectable
Adds engine backend selection for NavigationServers, aka allows to swap navigation module for other backend implementations.
This commit is contained in:
		@@ -746,6 +746,13 @@ Error Main::test_setup() {
 | 
			
		||||
	physics_server_2d_manager = memnew(PhysicsServer2DManager);
 | 
			
		||||
#endif // PHYSICS_2D_DISABLED
 | 
			
		||||
 | 
			
		||||
#ifndef NAVIGATION_2D_DISABLED
 | 
			
		||||
	NavigationServer2DManager::initialize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_2D_DISABLED
 | 
			
		||||
#ifndef NAVIGATION_3D_DISABLED
 | 
			
		||||
	NavigationServer3DManager::initialize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_3D_DISABLED
 | 
			
		||||
 | 
			
		||||
	// From `Main::setup2()`.
 | 
			
		||||
	register_early_core_singletons();
 | 
			
		||||
	initialize_modules(MODULE_INITIALIZATION_LEVEL_CORE);
 | 
			
		||||
@@ -863,9 +870,11 @@ void Main::test_cleanup() {
 | 
			
		||||
 | 
			
		||||
#ifndef NAVIGATION_2D_DISABLED
 | 
			
		||||
	NavigationServer2DManager::finalize_server();
 | 
			
		||||
	NavigationServer2DManager::finalize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_2D_DISABLED
 | 
			
		||||
#ifndef NAVIGATION_3D_DISABLED
 | 
			
		||||
	NavigationServer3DManager::finalize_server();
 | 
			
		||||
	NavigationServer3DManager::finalize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_3D_DISABLED
 | 
			
		||||
 | 
			
		||||
	GDExtensionManager::get_singleton()->deinitialize_extensions(GDExtension::INITIALIZATION_LEVEL_SERVERS);
 | 
			
		||||
@@ -3018,6 +3027,13 @@ Error Main::setup2(bool p_show_boot_logo) {
 | 
			
		||||
	physics_server_2d_manager = memnew(PhysicsServer2DManager);
 | 
			
		||||
#endif // PHYSICS_2D_DISABLED
 | 
			
		||||
 | 
			
		||||
#ifndef NAVIGATION_2D_DISABLED
 | 
			
		||||
	NavigationServer2DManager::initialize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_2D_DISABLED
 | 
			
		||||
#ifndef NAVIGATION_3D_DISABLED
 | 
			
		||||
	NavigationServer3DManager::initialize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_3D_DISABLED
 | 
			
		||||
 | 
			
		||||
	register_server_types();
 | 
			
		||||
	{
 | 
			
		||||
		OS::get_singleton()->benchmark_begin_measure("Servers", "Modules and Extensions");
 | 
			
		||||
@@ -4979,9 +4995,11 @@ void Main::cleanup(bool p_force) {
 | 
			
		||||
// Before deinitializing server extensions, finalize servers which may be loaded as extensions.
 | 
			
		||||
#ifndef NAVIGATION_2D_DISABLED
 | 
			
		||||
	NavigationServer2DManager::finalize_server();
 | 
			
		||||
	NavigationServer2DManager::finalize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_2D_DISABLED
 | 
			
		||||
#ifndef NAVIGATION_3D_DISABLED
 | 
			
		||||
	NavigationServer3DManager::finalize_server();
 | 
			
		||||
	NavigationServer3DManager::finalize_server_manager();
 | 
			
		||||
#endif // NAVIGATION_3D_DISABLED
 | 
			
		||||
	finalize_physics();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user