refactor: object

This commit is contained in:
Swann
2019-08-07 22:16:36 +02:00
parent 2e55f585b1
commit 318f99967d
2 changed files with 29 additions and 38 deletions
+28 -37
View File
@@ -1,43 +1,34 @@
from libs.replication.data import ReplicatedDatablock
import bpy
import mathutils
import utils
class RepObject(ReplicatedDatablock):
def load(self, data, target):
try:
if target is None:
pointer = None
# Object specific constructor...
if data["data"] in bpy.data.meshes.keys():
pointer = bpy.data.meshes[data["data"]]
elif data["data"] in bpy.data.lights.keys():
pointer = bpy.data.lights[data["data"]]
elif data["data"] in bpy.data.cameras.keys():
pointer = bpy.data.cameras[data["data"]]
elif data["data"] in bpy.data.curves.keys():
pointer = bpy.data.curves[data["data"]]
elif data["data"] in bpy.data.armatures.keys():
pointer = bpy.data.armatures[data["data"]]
elif data["data"] in bpy.data.grease_pencils.keys():
pointer = bpy.data.grease_pencils[data["data"]]
elif data["data"] in bpy.data.curves.keys():
pointer = bpy.data.curves[data["data"]]
target = bpy.data.objects.new(data["name"], pointer)
# Load other meshes metadata
target.matrix_world = mathutils.Matrix(data["matrix_world"])
target.id = data['id']
client = bpy.context.window_manager.session.username
if target.id == client or target.id == "Common":
target.hide_select = False
else:
target.hide_select = True
except Exception as e:
logger.error("Object {} loading error: {} ".format(data["name"], e))
if target is None:
pointer = None
# Object specific constructor...
if data["data"] in bpy.data.meshes.keys():
pointer = bpy.data.meshes[data["data"]]
elif data["data"] in bpy.data.lights.keys():
pointer = bpy.data.lights[data["data"]]
elif data["data"] in bpy.data.cameras.keys():
pointer = bpy.data.cameras[data["data"]]
elif data["data"] in bpy.data.curves.keys():
pointer = bpy.data.curves[data["data"]]
elif data["data"] in bpy.data.armatures.keys():
pointer = bpy.data.armatures[data["data"]]
elif data["data"] in bpy.data.grease_pencils.keys():
pointer = bpy.data.grease_pencils[data["data"]]
elif data["data"] in bpy.data.curves.keys():
pointer = bpy.data.curves[data["data"]]
target = bpy.data.objects.new(data["name"], pointer)
# Load other meshes metadata
target.matrix_world = mathutils.Matrix(data["matrix_world"])
def dump(self, source):
return utils.dump_datablock(source, 1)