LNXSDK/leenkx/blender/start.py

103 lines
3.1 KiB
Python
Raw Normal View History

2025-01-22 16:18:30 +01:00
import time
import lnx
import lnx.log
import lnx.nodes_logic
import lnx.nodes_material
import lnx.props_traits_props
import lnx.props_traits
import lnx.props_lod
import lnx.props_action
import lnx.props_tilesheet
import lnx.props_exporter
import lnx.props_bake
import lnx.props_renderpath
import lnx.props_properties
import lnx.props_collision_filter_mask
import lnx.props
import lnx.props_ui
import lnx.handlers
import lnx.utils
import lnx.keymap
reload_started = 0
if lnx.is_reload(__name__):
lnx.log.debug('Reloading Leenkx SDK...')
reload_started = time.time()
# Clear the module cache
import importlib
lnx = importlib.reload(lnx) # type: ignore
lnx.nodes_logic = lnx.reload_module(lnx.nodes_logic)
lnx.nodes_material = lnx.reload_module(lnx.nodes_material)
lnx.props_traits_props = lnx.reload_module(lnx.props_traits_props)
lnx.props_traits = lnx.reload_module(lnx.props_traits)
lnx.props_lod = lnx.reload_module(lnx.props_lod)
lnx.props_action = lnx.reload_module(lnx.props_action)
lnx.props_tilesheet = lnx.reload_module(lnx.props_tilesheet)
lnx.props_exporter = lnx.reload_module(lnx.props_exporter)
lnx.props_bake = lnx.reload_module(lnx.props_bake)
lnx.props_renderpath = lnx.reload_module(lnx.props_renderpath)
lnx.props_properties = lnx.reload_module(lnx.props_properties)
lnx.props_collision_filter_mask = lnx.reload_module(lnx.props_collision_filter_mask)
lnx.props = lnx.reload_module(lnx.props)
lnx.props_ui = lnx.reload_module(lnx.props_ui)
lnx.handlers = lnx.reload_module(lnx.handlers)
lnx.utils = lnx.reload_module(lnx.utils)
lnx.keymap = lnx.reload_module(lnx.keymap)
else:
lnx.enable_reload(__name__)
registered = False
def register(local_sdk=False):
global registered
registered = True
lnx.utils.register(local_sdk=local_sdk)
lnx.props_traits_props.register()
lnx.props_traits.register()
lnx.props_lod.register()
lnx.props_action.register()
lnx.props_tilesheet.register()
lnx.props_exporter.register()
lnx.props_bake.register()
lnx.props_renderpath.register()
lnx.props_properties.register()
lnx.props.register()
lnx.props_ui.register()
lnx.nodes_logic.register()
lnx.nodes_material.register()
lnx.keymap.register()
lnx.handlers.register()
lnx.props_collision_filter_mask.register()
lnx.handlers.post_register()
if reload_started != 0:
lnx.log.debug(f'Leenkx SDK: Reloading finished in {time.time() - reload_started:.3f}s')
def unregister():
global registered
registered = False
lnx.keymap.unregister()
lnx.utils.unregister()
lnx.nodes_material.unregister()
lnx.nodes_logic.unregister()
lnx.handlers.unregister()
lnx.props_ui.unregister()
lnx.props.unregister()
lnx.props_traits_props.unregister()
lnx.props_traits.unregister()
lnx.props_action.unregister()
lnx.props_lod.unregister()
lnx.props_tilesheet.unregister()
lnx.props_exporter.unregister()
lnx.props_bake.unregister()
lnx.props_renderpath.unregister()
lnx.props_properties.unregister()
lnx.props_collision_filter_mask.unregister()