feat: collection insance offset support

Related to #105
This commit is contained in:
Swann
2020-08-24 17:49:17 +02:00
parent e4e09d63ff
commit 6475b4fc08
2 changed files with 18 additions and 4 deletions

View File

@ -21,7 +21,7 @@ import mathutils
from .. import utils from .. import utils
from .bl_datablock import BlDatablock from .bl_datablock import BlDatablock
from .dump_anything import Loader, Dumper
class BlCollection(BlDatablock): class BlCollection(BlDatablock):
bl_id = "collections" bl_id = "collections"
@ -45,8 +45,11 @@ class BlCollection(BlDatablock):
return instance return instance
def _load_implementation(self, data, target): def _load_implementation(self, data, target):
loader = Loader()
loader.load(target,data)
# Load other meshes metadata # Load other meshes metadata
target.name = data["name"] # target.name = data["name"]
# Objects # Objects
for object in data["objects"]: for object in data["objects"]:
@ -77,8 +80,14 @@ class BlCollection(BlDatablock):
def _dump_implementation(self, data, instance=None): def _dump_implementation(self, data, instance=None):
assert(instance) assert(instance)
data = {}
data['name'] = instance.name dumper = Dumper()
dumper.depth = 1
dumper.include_filter = [
"name",
"instance_offset"
]
data = dumper.dump(instance)
# dump objects # dump objects
collection_objects = [] collection_objects = []

View File

@ -165,8 +165,13 @@ class SessionStartOperator(bpy.types.Operator):
node_ref = client.get(node) node_ref = client.get(node)
if node_ref.state == FETCHED: if node_ref.state == FETCHED:
node_ref.resolve() node_ref.resolve()
for node in client._graph.list_ordered():
node_ref = client.get(node)
if node_ref.state == FETCHED:
node_ref.apply() node_ref.apply()
# Launch drawing module # Launch drawing module
if runtime_settings.enable_presence: if runtime_settings.enable_presence:
presence.renderer.run() presence.renderer.run()