armory/blender/start.py

97 lines
2.9 KiB
Python
Executable File

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