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.
Showing only changes of commit f3500b49a4 - Show all commits

View File

@ -551,7 +551,7 @@ def get_task_layer_types(self, context):
class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
bl_idname = "assetpipe.batch_ownership_change"
bl_label = "Batch Ownership"
bl_label = "Batch Set Ownership"
bl_description = """Re-Assign Ownership in a batch operation"""
name_filter: bpy.props.StringProperty(
@ -561,7 +561,7 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
)
data_source: bpy.props.EnumProperty(
name="Source",
name="Objects",
items=(
('SELECT', "Selected", "Update Selected Objects Only"),
('ALL', "All", "Update All Objects"),
@ -569,7 +569,7 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
)
data_type: bpy.props.EnumProperty(
name="Type",
name="Ownership Type",
items=(
(
'OBJECT',
@ -578,7 +578,7 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
),
(
'TRANSFER_DATA',
"Transfer Data",
"Transferable Data",
"Update Owner of Transfer Data within Objects",
),
),
@ -588,7 +588,7 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
name="Owner Filter",
items=(
('LOCAL', "If Locally Owned", "Only data that is owned locally"),
('OWNED', "If Owned", "Only data that already have assignment"),
('OWNED', "If Owned By Any", "Only data that already have assignment"),
('ALL', "No Filter", "Set Ownership on any data, even without an owner"),
),
)
@ -620,7 +620,8 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
return unfiltered_list
return [item for item in unfiltered_list if self.name_filter in item.name]
def _get_transfer_data_to_update(self, context, objs):
def _get_transfer_data_to_update(self, context):
objs = self._get_objects(context)
transfer_data_items_to_update = []
if self.data_type == "TRANSFER_DATA":
for obj in objs:
@ -665,7 +666,7 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
return self._filter_by_name(context, objs)
def invoke(self, context: bpy.types.Context, event: bpy.types.Event):
return context.window_manager.invoke_props_dialog(self, width=400)
return context.window_manager.invoke_props_dialog(self, width=500)
def draw(self, context: bpy.types.Context):
grey_out = True
@ -674,19 +675,18 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
self.filter_owners = "LOCAL"
layout = self.layout
layout.use_property_split = True
layout.row(align=True).prop(self, "data_source", expand=True)
layout.prop(self, "data_type", expand=True)
box = layout.box()
filter_owner_row = box.row()
filter_owner_row = layout.row()
filter_owner_row.enabled = grey_out
filter_owner_row.prop(self, "filter_owners")
if self.data_type == "TRANSFER_DATA":
box.prop(self, "transfer_data_type")
box.prop(self, "name_filter", text="Name Filter")
layout.prop(self, "transfer_data_type")
layout.prop(self, "name_filter", text="Name Filter")
if self.avaliable_owners == "LOCAL":
show_local = True
@ -694,7 +694,10 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
else:
show_local = False
show_all_task_layers = True
owner_row = box.row(align=True)
layout.separator()
owner_row = layout.row(align=True)
owner_row.enabled = grey_out
draw_task_layer_selection(
@ -705,12 +708,12 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
'owner_selection',
show_all_task_layers=show_all_task_layers,
show_local=show_local,
text="Owner",
text="Set To",
)
owner_row.prop(self, "avaliable_owners", text="")
if self.data_type == "TRANSFER_DATA":
box.prop(self, "surrender_selection", expand=True)
layout.prop(self, "surrender_selection", expand=True)
objs = self._get_filtered_objects(context)
if self.data_type == "OBJECT":
@ -724,8 +727,10 @@ class ASSETPIPE_OT_batch_ownership_change(bpy.types.Operator):
if transfer_data_items_to_update
else 0
)
layout.label(text=f"Change Ownership on {length} {data_type_name}")
bottom_label = layout.row()
bottom_label_split = bottom_label.split(factor=0.4)
bottom_label_split.row()
bottom_label_split.label(text=f"Change Ownership on {length} {data_type_name}")
def execute(self, context: bpy.types.Context):
objs = self._get_filtered_objects(context)