diff --git a/log.txt b/log.txt new file mode 100644 index 0000000..0cc3912 --- /dev/null +++ b/log.txt @@ -0,0 +1 @@ +{"area": null, "blend_data": \ No newline at end of file diff --git a/multi_user/bl_types/__init__.py b/multi_user/bl_types/__init__.py index 6e1f71c..483bf72 100644 --- a/multi_user/bl_types/__init__.py +++ b/multi_user/bl_types/__init__.py @@ -15,7 +15,7 @@ __all__ = [ 'bl_action', 'bl_world', 'bl_metaball' -] # Order here defines execution order +] from . import * from ..libs.replication.replication.data import ReplicatedDataFactory diff --git a/multi_user/bl_types/bl_armature.py b/multi_user/bl_types/bl_armature.py index dccfc9d..f40094a 100644 --- a/multi_user/bl_types/bl_armature.py +++ b/multi_user/bl_types/bl_armature.py @@ -3,7 +3,7 @@ import mathutils from ..libs.overrider import Overrider from .. import utils -from .. import presence +from .. import presence, operators from .bl_datablock import BlDatablock # WIP @@ -43,15 +43,22 @@ class BlArmature(BlDatablock): bpy.context.view_layer.objects.active = parent_object - # override = bpy.context.copy() + override = operators.ui_context + override['editable_objects'] =[bpy.data.objects['Armature']] + override['object'] =bpy.data.objects['Armature'] + override['active_object'] = bpy.data.objects['Armature'] + # override[''] # override['window'] = bpy.data.window_managers[0].windows[0] - # override['mode'] = 'EDIT_ARMATURE' + # # override['mode'] = 'EDIT_ARMATURE' # override['window_manager'] = bpy.data.window_managers[0] # override['area'] = area # override['region'] = region + # override['region_data'] = rv3d # override['screen'] = bpy.data.window_managers[0].windows[0].screen - bpy.ops.object.mode_set(mode='EDIT') + # bpy.ops.object.mode_set(override,mode='EDIT') + bpy.ops.object.editmode_toggle(override) + # override['mode'] = 'EDIT_ARMATURE' for bone in data['bones']: if bone not in self.pointer.edit_bones: new_bone = self.pointer.edit_bones.new(bone) @@ -59,15 +66,16 @@ class BlArmature(BlDatablock): new_bone = self.pointer.edit_bones[bone] new_bone.tail = data['bones'][bone]['tail_local'] - new_bone.head = data['bones'][bone]['head_local'] + new_bone.head = data['bones'][bone]['head_local'] new_bone.tail_radius = data['bones'][bone]['tail_radius'] new_bone.head_radius = data['bones'][bone]['head_radius'] if 'parent' in data['bones'][bone]: new_bone.parent = self.pointer.edit_bones[data['bones'][bone]['parent']['name']] new_bone.use_connect = data['bones'][bone]['use_connect'] - bpy.ops.object.mode_set(mode='OBJECT') - + + bpy.ops.object.editmode_toggle(override) + print("toto") # bpy_.mode = 'EDIT_ARMATURE' # bpy_.active_object = armature diff --git a/multi_user/libs/replication b/multi_user/libs/replication index f4bbe3b..cc4458f 160000 --- a/multi_user/libs/replication +++ b/multi_user/libs/replication @@ -1 +1 @@ -Subproject commit f4bbe3b897c98ed7749a99dad12a1789d1fa1cb6 +Subproject commit cc4458ff30836bb4e9cc1a5853b735a784805aca diff --git a/multi_user/operators.py b/multi_user/operators.py index 78ee645..baa2b4b 100644 --- a/multi_user/operators.py +++ b/multi_user/operators.py @@ -55,14 +55,14 @@ class SessionStartOperator(bpy.types.Operator): return True def execute(self, context): - global client, delayables + global client, delayables, ui_context settings = context.window_manager.session # save config settings.save(context) bpy_factory = ReplicatedDataFactory() supported_bl_types = [] - + ui_context = context.copy() # init the factory with supported types for type in bl_types.types_to_register(): _type = getattr(bl_types, type)