@ -207,7 +207,7 @@ class RCFClientAgent(object):
|
||||
override = umsgpack.unpackb(msg[2])
|
||||
|
||||
if key in self.property_map.keys():
|
||||
if self.property_map[key].id == self.id:
|
||||
if self.property_map[key].body['id'] == self.id.decode():
|
||||
if value == 'None':
|
||||
value = helpers.dump(key)
|
||||
value['id'] = self.id.decode()
|
||||
@ -263,7 +263,10 @@ class RCFClientAgent(object):
|
||||
elif command == b"LIST":
|
||||
dump_list = []
|
||||
for k,v in self.property_map.items():
|
||||
dump_list.append([k,v.id])
|
||||
if 'Client' in k:
|
||||
dump_list.append([k,v.id.decode()])
|
||||
else:
|
||||
dump_list.append([k,v.body['id']])
|
||||
|
||||
self.pipe.send(umsgpack.packb(dump_list)
|
||||
if dump_list else umsgpack.packb(''))
|
||||
@ -319,7 +322,7 @@ def rcf_client_agent(ctx, pipe, queue):
|
||||
|
||||
with lock:
|
||||
client_dict = helpers.init_client(key=client_key)
|
||||
|
||||
client_dict['id'] = agent.id.decode()
|
||||
client_store = message.RCFMessage(
|
||||
key=client_key, id=agent.id, body=client_dict)
|
||||
logger.info(client_store)
|
||||
|
11
helpers.py
11
helpers.py
@ -77,17 +77,18 @@ def resolve_bpy_path(path):
|
||||
def load_client(client=None, data=None):
|
||||
C = bpy.context
|
||||
D = bpy.data
|
||||
|
||||
if client and data:
|
||||
# localy_selected = get_selected_objects(C.scene)
|
||||
# Draw client
|
||||
|
||||
client_data = data
|
||||
# Load selected object
|
||||
for obj in C.scene.objects:
|
||||
if obj.id == client:
|
||||
D.objects[obj.name].hide_select = True
|
||||
else:
|
||||
D.objects[obj.name].hide_select = False
|
||||
# for obj in C.scene.objects:
|
||||
# if obj.id == client:
|
||||
# D.objects[obj.name].hide_select = True
|
||||
# else:
|
||||
# D.objects[obj.name].hide_select = False
|
||||
# if client_data['active_objects'] and obj.name in client_data['active_objects']:
|
||||
# D.objects[obj.name].hide_select = True
|
||||
# else:
|
||||
|
16
operators.py
16
operators.py
@ -43,7 +43,7 @@ def client_list_callback(scene, context):
|
||||
|
||||
for k in client_keys:
|
||||
if 'Client' in k[0]:
|
||||
name = k[1].decode()
|
||||
name = k[1]
|
||||
items.append((name, name, ""))
|
||||
|
||||
return items
|
||||
@ -144,6 +144,17 @@ def update_selected_object(context):
|
||||
|
||||
# return False
|
||||
|
||||
def update_rights():
|
||||
|
||||
C = bpy.context
|
||||
D = bpy.data
|
||||
client = C.scene.session_settings.username
|
||||
|
||||
for obj in C.scene.objects:
|
||||
if obj.id == client:
|
||||
D.objects[obj.name].hide_select = False
|
||||
else:
|
||||
D.objects[obj.name].hide_select = True
|
||||
|
||||
def init_datablocks():
|
||||
global client_instance
|
||||
@ -175,6 +186,9 @@ def draw_tick():
|
||||
# refresh_window()
|
||||
# Upload
|
||||
upload_client_instance_position()
|
||||
|
||||
update_rights()
|
||||
|
||||
return .2
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user