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()