Converted __init__ module initialisation to new pattern
Thanks to Dr. Sybren for the BCON25 presentation that tipped me off to the existence of `register_classes_factory`.
This commit is contained in:
@@ -1,6 +1,41 @@
|
||||
from bpy.app.handlers import persistent
|
||||
|
||||
if 'bpy' in locals():
|
||||
from .shared import data as shared_data, types as shared_types, helpers as shared_helpers
|
||||
from .shared import dfs as shared_dfs, ui as shared_ui
|
||||
from .psk import (
|
||||
builder as psk_builder,
|
||||
data as psk_data,
|
||||
importer as psk_importer,
|
||||
properties as psk_properties,
|
||||
writer as psk_writer,
|
||||
)
|
||||
from .psk import reader as psk_reader, ui as psk_ui
|
||||
from .psk.export import (
|
||||
operators as psk_export_operators,
|
||||
properties as psk_export_properties,
|
||||
ui as psk_export_ui,
|
||||
)
|
||||
from .psk.import_ import operators as psk_import_operators
|
||||
|
||||
from .psa import (
|
||||
config as psa_config,
|
||||
data as psa_data,
|
||||
writer as psa_writer,
|
||||
reader as psa_reader,
|
||||
builder as psa_builder,
|
||||
importer as psa_importer,
|
||||
)
|
||||
from .psa.export import (
|
||||
properties as psa_export_properties,
|
||||
ui as psa_export_ui,
|
||||
operators as psa_export_operators,
|
||||
)
|
||||
from .psa.import_ import operators as psa_import_operators
|
||||
from .psa.import_ import ui as psa_import_ui, properties as psa_import_properties
|
||||
|
||||
_needs_reload = 'bpy' in locals()
|
||||
|
||||
if _needs_reload:
|
||||
import importlib
|
||||
|
||||
importlib.reload(shared_data)
|
||||
@@ -33,58 +68,10 @@ if 'bpy' in locals():
|
||||
importlib.reload(psa_import_properties)
|
||||
importlib.reload(psa_import_operators)
|
||||
importlib.reload(psa_import_ui)
|
||||
else:
|
||||
from .shared import data as shared_data, types as shared_types, helpers as shared_helpers
|
||||
from .shared import dfs as shared_dfs, ui as shared_ui
|
||||
from .psk import (
|
||||
builder as psk_builder,
|
||||
data as psk_data,
|
||||
importer as psk_importer,
|
||||
properties as psk_properties,
|
||||
writer as psk_writer,
|
||||
)
|
||||
from .psk import reader as psk_reader, ui as psk_ui
|
||||
from .psk.export import (
|
||||
operators as psk_export_operators,
|
||||
properties as psk_export_properties,
|
||||
ui as psk_export_ui,
|
||||
)
|
||||
from .psk.import_ import operators as psk_import_operators
|
||||
|
||||
from .psa import (
|
||||
config as psa_config,
|
||||
data as psa_data,
|
||||
writer as psa_writer,
|
||||
reader as psa_reader,
|
||||
builder as psa_builder,
|
||||
importer as psa_importer,
|
||||
)
|
||||
from .psa.export import (
|
||||
properties as psa_export_properties,
|
||||
ui as psa_export_ui,
|
||||
operators as psa_export_operators,
|
||||
)
|
||||
from .psa.import_ import operators as psa_import_operators
|
||||
from .psa.import_ import ui as psa_import_ui, properties as psa_import_properties
|
||||
|
||||
import bpy
|
||||
from bpy.props import PointerProperty
|
||||
|
||||
classes = shared_types.classes + \
|
||||
shared_ui.classes + \
|
||||
psk_properties.classes + \
|
||||
psk_ui.classes + \
|
||||
psk_import_operators.classes + \
|
||||
psk_export_properties.classes + \
|
||||
psk_export_operators.classes + \
|
||||
psk_export_ui.classes + \
|
||||
psa_export_properties.classes + \
|
||||
psa_export_operators.classes + \
|
||||
psa_export_ui.classes + \
|
||||
psa_import_properties.classes + \
|
||||
psa_import_operators.classes + \
|
||||
psa_import_ui.classes
|
||||
|
||||
|
||||
def psk_export_menu_func(self, context):
|
||||
self.layout.operator(psk_export_operators.PSK_OT_export.bl_idname, text='Unreal PSK (.psk)')
|
||||
@@ -102,9 +89,26 @@ def psa_import_menu_func(self, context):
|
||||
self.layout.operator(psa_import_operators.PSA_OT_import.bl_idname, text='Unreal PSA (.psa)')
|
||||
|
||||
|
||||
_modules = (
|
||||
shared_types,
|
||||
shared_ui,
|
||||
psk_properties,
|
||||
psk_ui,
|
||||
psk_import_operators,
|
||||
psk_export_properties,
|
||||
psk_export_operators,
|
||||
psk_export_ui,
|
||||
psa_export_properties,
|
||||
psa_export_operators,
|
||||
psa_export_ui,
|
||||
psa_import_properties,
|
||||
psa_import_operators,
|
||||
psa_import_ui
|
||||
)
|
||||
|
||||
def register():
|
||||
for cls in classes:
|
||||
bpy.utils.register_class(cls)
|
||||
for module in _modules:
|
||||
module.register()
|
||||
bpy.types.TOPBAR_MT_file_export.append(psk_export_menu_func)
|
||||
bpy.types.TOPBAR_MT_file_import.append(psk_import_menu_func)
|
||||
bpy.types.TOPBAR_MT_file_export.append(psa_export_menu_func)
|
||||
@@ -128,8 +132,8 @@ def unregister():
|
||||
bpy.types.TOPBAR_MT_file_import.remove(psk_import_menu_func)
|
||||
bpy.types.TOPBAR_MT_file_export.remove(psa_export_menu_func)
|
||||
bpy.types.TOPBAR_MT_file_import.remove(psa_import_menu_func)
|
||||
for cls in reversed(classes):
|
||||
bpy.utils.unregister_class(cls)
|
||||
for module in reversed(_modules):
|
||||
module.unregister()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -658,10 +658,14 @@ class PSA_OT_export_bone_collections_deselect_all(Operator):
|
||||
return {'FINISHED'}
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSA_OT_export,
|
||||
PSA_OT_export_actions_select_all,
|
||||
PSA_OT_export_actions_deselect_all,
|
||||
PSA_OT_export_bone_collections_select_all,
|
||||
PSA_OT_export_bone_collections_deselect_all,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
@@ -262,10 +262,14 @@ def filter_sequences(pg: PSA_PG_export, sequences) -> List[int]:
|
||||
return flt_flags
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSA_PG_export_action_list_item,
|
||||
PSA_PG_export_timeline_markers,
|
||||
PSA_PG_export_nla_strip_list_item,
|
||||
PSA_PG_export_active_action_list_item,
|
||||
PSA_PG_export,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
@@ -52,6 +52,10 @@ class PSA_UL_export_sequences(UIList):
|
||||
return flt_flags, flt_neworder
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSA_UL_export_sequences,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
@@ -438,7 +438,7 @@ class PSA_FH_import(FileHandler): # TODO: rename and add handling for PSA expor
|
||||
return context.area and context.area.type == 'VIEW_3D'
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSA_OT_import_sequences_select_all,
|
||||
PSA_OT_import_sequences_deselect_all,
|
||||
PSA_OT_import_sequences_select_from_text,
|
||||
@@ -447,3 +447,6 @@ classes = (
|
||||
PSA_OT_import_drag_and_drop,
|
||||
PSA_FH_import,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -175,9 +175,12 @@ def get_visible_sequences(pg: PSA_PG_import, sequences) -> List[PSA_PG_import_ac
|
||||
return visible_sequences
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSA_PG_import_action_list_item,
|
||||
PSA_PG_bone,
|
||||
PSA_PG_data,
|
||||
PSA_PG_import,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -42,8 +42,11 @@ class PSA_UL_import_actions(PSA_UL_sequences_mixin):
|
||||
pass
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSA_UL_sequences,
|
||||
PSA_UL_import_sequences,
|
||||
PSA_UL_import_actions,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -509,7 +509,7 @@ class PSK_OT_export(Operator, ExportHelper):
|
||||
return {'FINISHED'}
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSK_OT_material_list_move_up,
|
||||
PSK_OT_material_list_move_down,
|
||||
PSK_OT_export,
|
||||
@@ -521,3 +521,6 @@ classes = (
|
||||
PSK_OT_material_list_name_move_down,
|
||||
PSK_OT_material_list_name_add,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -67,8 +67,12 @@ class PSK_PG_export(PropertyGroup, PskExportMixin):
|
||||
pass
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSK_PG_material_list_item,
|
||||
PSK_PG_material_name_list_item,
|
||||
PSK_PG_export,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@ class PSK_UL_material_names(UIList):
|
||||
row.prop(item, 'material_name', text='', emboss=False, icon_value=icon_value, icon='BLANK1' if icon_value == 0 else 'NONE')
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSK_UL_material_names,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -171,8 +171,12 @@ class PSK_FH_import(FileHandler):
|
||||
return context.area and context.area.type == 'VIEW_3D'
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSK_OT_import,
|
||||
PSK_OT_import_drag_and_drop,
|
||||
PSK_FH_import,
|
||||
PSK_OT_create_bones_from_selected_objects,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -145,6 +145,10 @@ class PskImportMixin:
|
||||
)
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSX_PG_material,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
@@ -23,6 +23,10 @@ class PSK_PT_material(Panel):
|
||||
col.prop(material.psk, 'mesh_triangle_bit_flags', expand=True, text='Flags')
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSK_PT_material,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
@@ -154,10 +154,13 @@ class PSX_PG_scene_export(PropertyGroup, TransformMixin):
|
||||
pass
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSX_PG_scene_export,
|
||||
PSX_PG_action_export,
|
||||
PSX_PG_bone_collection_list_item,
|
||||
PSX_UL_bone_collection_list,
|
||||
PSX_PT_action,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
@@ -50,6 +50,10 @@ class PSX_PT_scene(Panel):
|
||||
flow.prop(psx_export, 'up_axis')
|
||||
|
||||
|
||||
classes = (
|
||||
_classes = (
|
||||
PSX_PT_scene,
|
||||
)
|
||||
|
||||
from bpy.utils import register_classes_factory
|
||||
register, unregister = register_classes_factory(_classes)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user