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