Asset Pipeline v2 #145

Closed
Nick Alberelli wants to merge 431 commits from (deleted):feature/asset-pipeline-v2 into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
2 changed files with 9 additions and 9 deletions
Showing only changes of commit b5e0767c0f - Show all commits

View File

@ -40,7 +40,7 @@ def merge_task_layer(
external_col = bpy.data.collections[f"{col_base_name}.{external_suffix}"]
# TODO Make sure we preserve the collection hirearchies instead of having one flat col
mapping_task_target = AssetTransferMapping(local_col, external_col, local_tls)
map = AssetTransferMapping(local_col, external_col, local_tls)
# Find Transfer Data
transfer_data = []
@ -54,19 +54,19 @@ def merge_task_layer(
if item.owner in local_tls:
transfer_data.append(item)
transferable_data.apply_transfer_data(context, transfer_data, local_col)
transferable_data.apply_transfer_data(context, transfer_data, external_col)
target_objs = [map.object_map[obj] for obj in map.object_map]
transferable_data.apply_transfer_data(context, transfer_data, target_objs)
for old_obj in mapping_task_target.local_obj_to_remove:
for old_obj in map.local_obj_to_remove:
# TODO Support collection hirearchies
local_col.objects.unlink(old_obj)
for new_obj in mapping_task_target.external_obj_to_add:
for new_obj in map.external_obj_to_add:
# TODO Support collection hirearchies
local_col.objects.link(new_obj)
for source_obj in mapping_task_target._object_map:
target_obj = mapping_task_target._object_map[source_obj]
for source_obj in map.object_map:
target_obj = map.object_map[source_obj]
datablocks.remap_user(source_obj, target_obj)
bpy.ops.outliner.orphans_purge(

View File

@ -17,10 +17,10 @@ def update_transfer_data_ownership(transfer_data_item, target_obj: bpy.types.Obj
def apply_transfer_data(
context: bpy.types.Context,
transfer_data_list,
target_col: bpy.types.Collection,
target_objs: set[bpy.types.Object],
):
for item in transfer_data_list:
for target_obj in target_col.objects:
for target_obj in target_objs:
if asset_suffix.get_basename(target_obj.name) == asset_suffix.get_basename(
item.id.name
):