| 
									
										
										
										
											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 | 
					
						
							| 
									
										
										
										
											2025-06-12 22:38:30 +00:00
										 |  |  | import lnx.props_camera_render_filter | 
					
						
							| 
									
										
										
										
											2025-01-22 16:18:30 +01:00
										 |  |  | 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) | 
					
						
							| 
									
										
										
										
											2025-06-12 22:38:30 +00:00
										 |  |  |     lnx.props_camera_render_filter = lnx.reload_module(lnx.props_camera_render_filter) | 
					
						
							| 
									
										
										
										
											2025-01-22 16:18:30 +01:00
										 |  |  |     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() | 
					
						
							| 
									
										
										
										
											2025-06-12 22:38:30 +00:00
										 |  |  |     lnx.props_camera_render_filter.register() | 
					
						
							| 
									
										
										
										
											2025-01-22 16:18:30 +01:00
										 |  |  |     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() | 
					
						
							| 
									
										
										
										
											2025-06-12 22:38:30 +00:00
										 |  |  |     lnx.props_camera_render_filter.unregister() |