Refactor module initialization
* Changed to use the same stages as extensions. * Makes the initialization more coherent, helping solve problems due to lack of stages. * Makes it easier to port between module and extension. * removed the DRIVER initialization level (no longer needed).
This commit is contained in:
@ -36,7 +36,11 @@
|
||||
|
||||
RaycastOcclusionCull *raycast_occlusion_cull = nullptr;
|
||||
|
||||
void register_raycast_types() {
|
||||
void initialize_raycast_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
LightmapRaycasterEmbree::make_default_raycaster();
|
||||
StaticRaycasterEmbree::make_default_raycaster();
|
||||
@ -44,7 +48,11 @@ void register_raycast_types() {
|
||||
raycast_occlusion_cull = memnew(RaycastOcclusionCull);
|
||||
}
|
||||
|
||||
void unregister_raycast_types() {
|
||||
void uninitialize_raycast_module(ModuleInitializationLevel p_level) {
|
||||
if (p_level != MODULE_INITIALIZATION_LEVEL_SCENE) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (raycast_occlusion_cull) {
|
||||
memdelete(raycast_occlusion_cull);
|
||||
}
|
||||
|
||||
@ -28,5 +28,7 @@
|
||||
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
||||
/*************************************************************************/
|
||||
|
||||
void register_raycast_types();
|
||||
void unregister_raycast_types();
|
||||
#include "modules/register_module_types.h"
|
||||
|
||||
void initialize_raycast_module(ModuleInitializationLevel p_level);
|
||||
void uninitialize_raycast_module(ModuleInitializationLevel p_level);
|
||||
|
||||
Reference in New Issue
Block a user