fix(rcf): panel regisration
This commit is contained in:
@ -27,7 +27,8 @@ def register():
|
|||||||
net_ecs.register()
|
net_ecs.register()
|
||||||
|
|
||||||
def unregister():
|
def unregister():
|
||||||
bsyncio.unregister()
|
|
||||||
net_ui.unregister()
|
net_ui.unregister()
|
||||||
net_operators.unregister()
|
net_operators.unregister()
|
||||||
net_ecs.unregister()
|
net_ecs.unregister()
|
||||||
|
bsyncio.unregister()
|
||||||
|
|
@ -460,7 +460,6 @@ def mesh_tick():
|
|||||||
|
|
||||||
|
|
||||||
def object_tick():
|
def object_tick():
|
||||||
|
|
||||||
obj = get_update("Object")
|
obj = get_update("Object")
|
||||||
|
|
||||||
if obj:
|
if obj:
|
||||||
@ -541,7 +540,6 @@ class session_join(bpy.types.Operator):
|
|||||||
drawer = net_draw.HUD(client_instance=client)
|
drawer = net_draw.HUD(client_instance=client)
|
||||||
|
|
||||||
register_ticks()
|
register_ticks()
|
||||||
# bpy.ops.session.draw('INVOKE_DEFAULT')
|
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
@ -727,7 +725,6 @@ classes = (
|
|||||||
session_create,
|
session_create,
|
||||||
session_settings,
|
session_settings,
|
||||||
session_remove_property,
|
session_remove_property,
|
||||||
session_draw_clients,
|
|
||||||
session_snapview,
|
session_snapview,
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -742,16 +739,17 @@ def depsgraph_update(scene):
|
|||||||
if client.status == net_components.RCFStatus.CONNECTED:
|
if client.status == net_components.RCFStatus.CONNECTED:
|
||||||
if scene.session_settings.active_object:
|
if scene.session_settings.active_object:
|
||||||
if c[1].is_updated_geometry:
|
if c[1].is_updated_geometry:
|
||||||
print('geometry')
|
print('geometry {}'.format(c[1].id.name))
|
||||||
if c[1].id.name == scene.session_settings.active_object.name:
|
if c[1].id.name == scene.session_settings.active_object.name:
|
||||||
add_update(c[1].id.bl_rna.name, c[1].id.name)
|
add_update(c[1].id.bl_rna.name, c[1].id.name)
|
||||||
elif c[1].is_updated_transform:
|
elif c[1].is_updated_transform:
|
||||||
print('transform')
|
print('transform{}'.format(c[1].id.name))
|
||||||
if c[1].id.name == scene.session_settings.active_object.name:
|
if c[1].id.name == scene.session_settings.active_object.name:
|
||||||
add_update(c[1].id.bl_rna.name, c[1].id.name)
|
add_update(c[1].id.bl_rna.name, c[1].id.name)
|
||||||
else:
|
else:
|
||||||
print('other')
|
print('other{}'.format(c[1].id.name))
|
||||||
# if c[1].id.bl_rna.name == 'Material' or c[1].id.bl_rna.name== 'Shader Nodetree':
|
# if c[1].id.bl_rna.name == 'Material' or c[1].id.bl_rna.name== 'Shader Nodetree':
|
||||||
|
|
||||||
data_name = c[1].id.name
|
data_name = c[1].id.name
|
||||||
if c[1].id.bl_rna.name == "Object":
|
if c[1].id.bl_rna.name == "Object":
|
||||||
if data_name in bpy.data.objects.keys():
|
if data_name in bpy.data.objects.keys():
|
||||||
|
152
net_ui.py
152
net_ui.py
@ -14,59 +14,60 @@ class SessionSettingsPanel(bpy.types.Panel):
|
|||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
|
||||||
net_settings = context.scene.session_settings
|
if hasattr(context.scene, 'session_settings'):
|
||||||
scene = context.scene
|
net_settings = context.scene.session_settings
|
||||||
|
scene = context.scene
|
||||||
row = layout.row()
|
|
||||||
if net_operators.client is None:
|
|
||||||
|
|
||||||
row = layout.row()
|
|
||||||
box = row.box()
|
|
||||||
row = box.row()
|
|
||||||
row.label(text="User infos")
|
|
||||||
row = box.row()
|
|
||||||
row.prop(scene.session_settings, "username", text="id")
|
|
||||||
row = box.row()
|
|
||||||
row.prop(scene.session_settings, "client_color", text="color")
|
|
||||||
|
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
row.prop(scene.session_settings, "session_mode", expand=True)
|
if net_operators.client is None:
|
||||||
row = layout.row()
|
|
||||||
|
row = layout.row()
|
||||||
if scene.session_settings.session_mode == 'HOST':
|
|
||||||
box = row.box()
|
box = row.box()
|
||||||
row = box.row()
|
row = box.row()
|
||||||
row.label(text="init scene:")
|
row.label(text="User infos")
|
||||||
row.prop(net_settings, "init_scene", text="")
|
row = box.row()
|
||||||
|
row.prop(scene.session_settings, "username", text="id")
|
||||||
|
row = box.row()
|
||||||
|
row.prop(scene.session_settings, "client_color", text="color")
|
||||||
|
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
row.operator("session.create", text="HOST")
|
row.prop(scene.session_settings, "session_mode", expand=True)
|
||||||
|
row = layout.row()
|
||||||
|
|
||||||
|
if scene.session_settings.session_mode == 'HOST':
|
||||||
|
box = row.box()
|
||||||
|
row = box.row()
|
||||||
|
row.label(text="init scene:")
|
||||||
|
row.prop(net_settings, "init_scene", text="")
|
||||||
|
row = layout.row()
|
||||||
|
row.operator("session.create", text="HOST")
|
||||||
|
else:
|
||||||
|
box = row.box()
|
||||||
|
row = box.row()
|
||||||
|
row.prop(net_settings, "ip", text="server ip")
|
||||||
|
row = box.row()
|
||||||
|
row.label(text="load data:")
|
||||||
|
row.prop(net_settings, "load_data", text="")
|
||||||
|
row = box.row()
|
||||||
|
row.label(text="clear scene:")
|
||||||
|
row.prop(net_settings, "clear_scene", text="")
|
||||||
|
|
||||||
|
row = layout.row()
|
||||||
|
row.operator("session.join", text="CONNECT")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
box = row.box()
|
|
||||||
row = box.row()
|
|
||||||
row.prop(net_settings, "ip", text="server ip")
|
|
||||||
row = box.row()
|
|
||||||
row.label(text="load data:")
|
|
||||||
row.prop(net_settings, "load_data", text="")
|
|
||||||
row = box.row()
|
|
||||||
row.label(text="clear scene:")
|
|
||||||
row.prop(net_settings, "clear_scene", text="")
|
|
||||||
|
|
||||||
row = layout.row()
|
if net_operators.client.status is net_components.RCFStatus.CONNECTED:
|
||||||
row.operator("session.join", text="CONNECT")
|
row.label(text="Net frequency:")
|
||||||
|
row.prop(net_settings, "update_frequency", text="")
|
||||||
|
row = layout.row()
|
||||||
|
row.operator("session.stop", icon='QUIT', text="Exit")
|
||||||
|
elif net_operators.client.status is net_components.RCFStatus.CONNECTING:
|
||||||
|
row.label(text="connecting...")
|
||||||
|
row = layout.row()
|
||||||
|
row.operator("session.stop", icon='QUIT', text="CANCEL")
|
||||||
|
|
||||||
else:
|
row = layout.row()
|
||||||
|
|
||||||
if net_operators.client.status is net_components.RCFStatus.CONNECTED:
|
|
||||||
row.label(text="Net frequency:")
|
|
||||||
row.prop(net_settings, "update_frequency", text="")
|
|
||||||
row = layout.row()
|
|
||||||
row.operator("session.stop", icon='QUIT', text="Exit")
|
|
||||||
elif net_operators.client.status is net_components.RCFStatus.CONNECTING:
|
|
||||||
row.label(text="connecting...")
|
|
||||||
row = layout.row()
|
|
||||||
row.operator("session.stop", icon='QUIT', text="CANCEL")
|
|
||||||
|
|
||||||
row = layout.row()
|
|
||||||
|
|
||||||
|
|
||||||
class SessionUsersPanel(bpy.types.Panel):
|
class SessionUsersPanel(bpy.types.Panel):
|
||||||
@ -117,7 +118,7 @@ class SessionUsersPanel(bpy.types.Panel):
|
|||||||
class SessionPropertiesPanel(bpy.types.Panel):
|
class SessionPropertiesPanel(bpy.types.Panel):
|
||||||
"""Creates a Panel in the scene context of the properties editor"""
|
"""Creates a Panel in the scene context of the properties editor"""
|
||||||
bl_label = "NET properties"
|
bl_label = "NET properties"
|
||||||
bl_idname = "SCENE_PT_layout"
|
bl_idname = "SCENE_PT_SessionProps"
|
||||||
bl_space_type = 'PROPERTIES'
|
bl_space_type = 'PROPERTIES'
|
||||||
bl_region_type = 'WINDOW'
|
bl_region_type = 'WINDOW'
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
@ -131,39 +132,40 @@ class SessionPropertiesPanel(bpy.types.Panel):
|
|||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
|
||||||
net_settings = context.scene.session_settings
|
if hasattr(context.scene,'session_settings'):
|
||||||
scene = context.scene
|
net_settings = context.scene.session_settings
|
||||||
# Create a simple row.
|
scene = context.scene
|
||||||
row = layout.row()
|
# Create a simple row.
|
||||||
|
|
||||||
if net_operators.client:
|
|
||||||
row = layout.row(align=True)
|
|
||||||
row.prop(net_settings, "buffer", text="")
|
|
||||||
row.prop(net_settings, "add_property_depth", text="")
|
|
||||||
add = row.operator("session.add_prop", text="",
|
|
||||||
icon="ADD")
|
|
||||||
add.property_path = net_settings.buffer
|
|
||||||
add.depth = net_settings.add_property_depth
|
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
# Property area
|
|
||||||
area_msg = row.box()
|
if net_operators.client:
|
||||||
if len(net_operators.client.property_map) > 0:
|
row = layout.row(align=True)
|
||||||
for key, values in net_operators.client.property_map.items():
|
row.prop(net_settings, "buffer", text="")
|
||||||
item_box = area_msg.box()
|
row.prop(net_settings, "add_property_depth", text="")
|
||||||
detail_item_box = item_box.row()
|
add = row.operator("session.add_prop", text="",
|
||||||
# detail_item_box = item_box.row()
|
icon="ADD")
|
||||||
|
add.property_path = net_settings.buffer
|
||||||
detail_item_box.label(text="{} ({}) {} ".format(
|
add.depth = net_settings.add_property_depth
|
||||||
key, values.mtype, values.id.decode()))
|
row = layout.row()
|
||||||
detail_item_box.operator(
|
# Property area
|
||||||
"session.remove_prop", text="", icon="X").property_path = key
|
area_msg = row.box()
|
||||||
else:
|
if len(net_operators.client.property_map) > 0:
|
||||||
area_msg.label(text="Empty")
|
for key, values in net_operators.client.property_map.items():
|
||||||
|
item_box = area_msg.box()
|
||||||
|
detail_item_box = item_box.row()
|
||||||
|
# detail_item_box = item_box.row()
|
||||||
|
|
||||||
|
detail_item_box.label(text="{} ({}) {} ".format(
|
||||||
|
key, values.mtype, values.id.decode()))
|
||||||
|
detail_item_box.operator(
|
||||||
|
"session.remove_prop", text="", icon="X").property_path = key
|
||||||
|
else:
|
||||||
|
area_msg.label(text="Empty")
|
||||||
|
|
||||||
class SessionTaskPanel(bpy.types.Panel):
|
class SessionTaskPanel(bpy.types.Panel):
|
||||||
"""Creates a Panel in the scene context of the properties editor"""
|
"""Creates a Panel in the scene context of the properties editor"""
|
||||||
bl_label = "NET tasks"
|
bl_label = "NET tasks"
|
||||||
bl_idname = "SCENE_PT_layout"
|
bl_idname = "SCENE_PT_SessionTasks"
|
||||||
bl_space_type = 'PROPERTIES'
|
bl_space_type = 'PROPERTIES'
|
||||||
bl_region_type = 'WINDOW'
|
bl_region_type = 'WINDOW'
|
||||||
bl_context = "scene"
|
bl_context = "scene"
|
||||||
@ -176,8 +178,6 @@ class SessionTaskPanel(bpy.types.Panel):
|
|||||||
|
|
||||||
def draw(self, context):
|
def draw(self, context):
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
|
||||||
scene = context.scene
|
|
||||||
# Create a simple row.
|
# Create a simple row.
|
||||||
row = layout.row()
|
row = layout.row()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user