object_prototypes = {}
unique_objects = []
export_names = {}
+ used_names = set()
for o in objs:
if o.name in object_prototypes:
continue
prefix = prefix[:pos]
if prefix:
- export_names[o.name+".object"] = prefix.strip(" .")+".object"
+ export_names[o.name+".object"] = prefix.strip(" .")
+ else:
+ used_names.add(o.name)
unique_objects.append(o)
for c in clones:
object_prototypes[c.name] = o
+ for n, e in export_names.items():
+ if e in used_names:
+ number = 1
+ while "{}_{}".format(e, number) in used_names:
+ number += 1
+ e += "_{}".format(number)
+ export_names[n] = e+".object"
+ used_names.add(e)
+
from .util import Progress
progress = Progress(self.show_progress and context)
if r.name in export_names:
r.name = export_names[r.name]
- scene_res = self.export_scene(context, objs, progress, prototypes=object_prototypes, resources=resources)
+ scene_res = self.export_scene(context, objs, resources, object_prototypes, progress)
refs = scene_res.collect_references()
if self.resource_collection:
for i, o in enumerate(objs):
progress.push_task_slice(o.name, i, len(objs))
- object_export.export_object_resources(context, o, resources, progress, material_atlases=material_atlases)
+ object_export.export_object_resources(context, o, resources, material_atlases, progress)
obj_name = o.name+".object"
- resources[obj_name] = object_export.export_object(context, o, progress, resources=resources)
+ resources[obj_name] = object_export.export_object(context, o, resources, progress)
progress.pop_task()
- def export_scene(self, context, objs, progress, *, prototypes, resources):
- from .datafile import Resource, Statement
+ def export_scene(self, context, objs, resources, prototypes, progress):
+ from .datafile import Resource, Statement, Token
scene_res = Resource("scene.scene", "scene")
+ scene_res.statements.append(Statement("type", Token(context.scene.scene_type.lower())))
+
for o in objs:
obj_res = resources[prototypes[o.name].name+".object"]
st = scene_res.create_reference_statement("object", obj_res, o.name)