mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-04-15 16:16:03 +02:00
Added init and finish methods to the NavigationMeshGenerator. Also small tweaks in initialization.
This commit is contained in:
parent
9ae3aa65b7
commit
e81f25ac7b
@ -226,6 +226,8 @@ void finalize_physics() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void initialize_navigation_mesh_generator() {
|
void initialize_navigation_mesh_generator() {
|
||||||
|
ERR_FAIL_COND(navigation_mesh_generator != NULL);
|
||||||
|
|
||||||
// Init chosen NavigationMeshGenerator
|
// Init chosen NavigationMeshGenerator
|
||||||
const String &server_name = GLOBAL_GET(NavigationMeshGeneratorManager::setting_property_name);
|
const String &server_name = GLOBAL_GET(NavigationMeshGeneratorManager::setting_property_name);
|
||||||
navigation_mesh_generator = NavigationMeshGeneratorManager::get_singleton()->new_server(server_name);
|
navigation_mesh_generator = NavigationMeshGeneratorManager::get_singleton()->new_server(server_name);
|
||||||
@ -243,6 +245,8 @@ void initialize_navigation_mesh_generator() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (navigation_mesh_generator) {
|
if (navigation_mesh_generator) {
|
||||||
|
navigation_mesh_generator->init();
|
||||||
|
|
||||||
// need to register singleton earlier so modules / extensions / addons can use it on SCENE / SERVER init level
|
// need to register singleton earlier so modules / extensions / addons can use it on SCENE / SERVER init level
|
||||||
Engine::get_singleton()->add_singleton(Engine::Singleton("NavigationMeshGenerator", NavigationMeshGenerator::get_singleton()));
|
Engine::get_singleton()->add_singleton(Engine::Singleton("NavigationMeshGenerator", NavigationMeshGenerator::get_singleton()));
|
||||||
}
|
}
|
||||||
@ -251,6 +255,10 @@ void initialize_navigation_mesh_generator() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void finalize_navigation_mesh_generator() {
|
void finalize_navigation_mesh_generator() {
|
||||||
|
ERR_FAIL_COND(!navigation_mesh_generator);
|
||||||
|
|
||||||
|
navigation_mesh_generator->finish();
|
||||||
|
|
||||||
memdelete(navigation_mesh_generator);
|
memdelete(navigation_mesh_generator);
|
||||||
navigation_mesh_generator = nullptr;
|
navigation_mesh_generator = nullptr;
|
||||||
}
|
}
|
||||||
|
@ -71,6 +71,12 @@ NavigationMeshGenerator *NavigationMeshGenerator::get_singleton() {
|
|||||||
return singleton;
|
return singleton;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void NavigationMeshGenerator::init() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void NavigationMeshGenerator::finish() {
|
||||||
|
}
|
||||||
|
|
||||||
NavigationMeshGenerator::NavigationMeshGenerator() {
|
NavigationMeshGenerator::NavigationMeshGenerator() {
|
||||||
ERR_FAIL_COND(singleton != nullptr);
|
ERR_FAIL_COND(singleton != nullptr);
|
||||||
singleton = this;
|
singleton = this;
|
||||||
|
@ -85,6 +85,9 @@ public:
|
|||||||
virtual bool is_navigation_mesh_baking(Ref<NavigationMesh> p_navigation_mesh) const = 0;
|
virtual bool is_navigation_mesh_baking(Ref<NavigationMesh> p_navigation_mesh) const = 0;
|
||||||
#endif // _3D_DISABLED
|
#endif // _3D_DISABLED
|
||||||
|
|
||||||
|
virtual void init();
|
||||||
|
virtual void finish();
|
||||||
|
|
||||||
NavigationMeshGenerator();
|
NavigationMeshGenerator();
|
||||||
~NavigationMeshGenerator();
|
~NavigationMeshGenerator();
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user