refactor: user metadata
This commit is contained in:
@ -192,8 +192,8 @@ class Draw(Delayable):
|
|||||||
|
|
||||||
class DrawClient(Draw):
|
class DrawClient(Draw):
|
||||||
def execute(self):
|
def execute(self):
|
||||||
session = getattr(operators, 'client')
|
session = getattr(operators, 'client', None)
|
||||||
renderer = getattr(presence, 'renderer')
|
renderer = getattr(presence, 'renderer', None)
|
||||||
if session and renderer:
|
if session and renderer:
|
||||||
settings = bpy.context.window_manager.session
|
settings = bpy.context.window_manager.session
|
||||||
users = session.online_users
|
users = session.online_users
|
||||||
@ -216,8 +216,10 @@ class ClientUpdate(Timer):
|
|||||||
def execute(self):
|
def execute(self):
|
||||||
settings = bpy.context.window_manager.session
|
settings = bpy.context.window_manager.session
|
||||||
session_info = bpy.context.window_manager.session
|
session_info = bpy.context.window_manager.session
|
||||||
session = getattr(operators, 'client')
|
session = getattr(operators, 'client', None)
|
||||||
if session:
|
renderer = getattr(presence, 'renderer', None)
|
||||||
|
|
||||||
|
if session and renderer:
|
||||||
local_user = operators.client.online_users.get(
|
local_user = operators.client.online_users.get(
|
||||||
session_info.username)
|
session_info.username)
|
||||||
if not local_user:
|
if not local_user:
|
||||||
@ -240,6 +242,7 @@ class ClientUpdate(Timer):
|
|||||||
elif current_view_corners != local_user_metadata['view_corners']:
|
elif current_view_corners != local_user_metadata['view_corners']:
|
||||||
logger.info('update user metadata')
|
logger.info('update user metadata')
|
||||||
local_user_metadata['view_corners'] = current_view_corners
|
local_user_metadata['view_corners'] = current_view_corners
|
||||||
|
local_user_metadata['view_matrix'] = presence.get_view_matrix()
|
||||||
session.update_user_metadata(local_user_metadata)
|
session.update_user_metadata(local_user_metadata)
|
||||||
|
|
||||||
# sync online users
|
# sync online users
|
||||||
@ -249,8 +252,10 @@ class ClientUpdate(Timer):
|
|||||||
for index, user in enumerate(ui_users):
|
for index, user in enumerate(ui_users):
|
||||||
if user.username not in session_users.keys():
|
if user.username not in session_users.keys():
|
||||||
ui_users.remove(index)
|
ui_users.remove(index)
|
||||||
bpy.context.window_manager.session.presence_show_user = False
|
|
||||||
bpy.context.window_manager.session.presence_show_user = True
|
renderer.flush_selection()
|
||||||
|
renderer.flush_users()
|
||||||
|
|
||||||
|
|
||||||
break
|
break
|
||||||
|
|
||||||
|
Submodule multi_user/libs/replication updated: d8537c31c0...2060bb6efb
@ -271,10 +271,12 @@ class SessionSnapUserOperator(bpy.types.Operator):
|
|||||||
area, region, rv3d = presence.view3d_find()
|
area, region, rv3d = presence.view3d_find()
|
||||||
global client
|
global client
|
||||||
|
|
||||||
target_client = client.get(uuid=self.target_client)
|
if client:
|
||||||
if target_client:
|
target_ref = client.online_users.get(self.target_client)
|
||||||
rv3d.view_matrix = mathutils.Matrix(
|
|
||||||
target_client.data['view_matrix'])
|
if target_ref:
|
||||||
|
rv3d.view_matrix = mathutils.Matrix(
|
||||||
|
target_ref['metadata']['view_matrix'])
|
||||||
else:
|
else:
|
||||||
return {"CANCELLED"}
|
return {"CANCELLED"}
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ class SESSION_PT_user(bpy.types.Panel):
|
|||||||
user_operations.operator(
|
user_operations.operator(
|
||||||
"session.snapview",
|
"session.snapview",
|
||||||
text="",
|
text="",
|
||||||
icon='VIEW_CAMERA').target_client = online_users[selected_user].name
|
icon='VIEW_CAMERA').target_client = active_user.username
|
||||||
|
|
||||||
|
|
||||||
class SESSION_UL_users(bpy.types.UIList):
|
class SESSION_UL_users(bpy.types.UIList):
|
||||||
|
Reference in New Issue
Block a user