Asset Pipeline v2 #145
@ -4,12 +4,18 @@ from .. import constants
|
|||||||
from .. import config
|
from .. import config
|
||||||
|
|
||||||
|
|
||||||
def get_default_task_layer(td_type: str, name=""):
|
def get_default_task_layer_owner(td_type: str, name="") -> [str, bool]:
|
||||||
if td_type == constants.ATTRIBUTE_KEY:
|
if td_type == constants.ATTRIBUTE_KEY:
|
||||||
if name in config.DEFAULT_OWNERSHIP_ATTRIBUTES:
|
if name in config.DEFAULT_OWNERSHIP_ATTRIBUTES:
|
||||||
return config.DEFAULT_OWNERSHIP_ATTRIBUTES[name]['default_owner']
|
return (
|
||||||
|
config.DEFAULT_OWNERSHIP_ATTRIBUTES[name]['default_owner'],
|
||||||
|
config.DEFAULT_OWNERSHIP_ATTRIBUTES[name]['auto_surrender'],
|
||||||
|
)
|
||||||
print(config.DEFAULT_OWNERSHIP[td_type]['default_owner'])
|
print(config.DEFAULT_OWNERSHIP[td_type]['default_owner'])
|
||||||
return config.DEFAULT_OWNERSHIP[td_type]['default_owner']
|
return (
|
||||||
|
config.DEFAULT_OWNERSHIP[td_type]['default_owner'],
|
||||||
|
config.DEFAULT_OWNERSHIP[td_type]['auto_surrender'],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def get_transfer_data_owner(
|
def get_transfer_data_owner(
|
||||||
@ -17,11 +23,13 @@ def get_transfer_data_owner(
|
|||||||
td_type_key: str,
|
td_type_key: str,
|
||||||
name="",
|
name="",
|
||||||
):
|
):
|
||||||
default_tl = get_default_task_layer(td_type_key, name)
|
default_tl, auto_surrender = get_default_task_layer_owner(td_type_key, name)
|
||||||
if default_tl in asset_pipe.get_local_task_layers():
|
if default_tl in asset_pipe.get_local_task_layers():
|
||||||
return default_tl
|
# If the default owner is local to the file, don't use auto_surrender
|
||||||
|
return default_tl, False
|
||||||
else:
|
else:
|
||||||
return asset_pipe.get_local_task_layers()[0]
|
# If the default owner is not local, pass auto surrender value
|
||||||
|
return asset_pipe.get_local_task_layers()[0], auto_surrender
|
||||||
|
|
||||||
|
|
||||||
def draw_task_layer_selection(
|
def draw_task_layer_selection(
|
||||||
|
@ -224,10 +224,11 @@ def init_modifiers(scene, obj):
|
|||||||
asset_pipe = scene.asset_pipeline
|
asset_pipe = scene.asset_pipeline
|
||||||
td_type_key = constants.MODIFIER_KEY
|
td_type_key = constants.MODIFIER_KEY
|
||||||
transfer_data = obj.transfer_data_ownership
|
transfer_data = obj.transfer_data_ownership
|
||||||
task_layer_owner = get_transfer_data_owner(
|
task_layer_owner, auto_surrender = get_transfer_data_owner(
|
||||||
asset_pipe,
|
asset_pipe,
|
||||||
td_type_key,
|
td_type_key,
|
||||||
)
|
)
|
||||||
|
|
||||||
for mod in obj.modifiers:
|
for mod in obj.modifiers:
|
||||||
mod.name = task_layer_prefix_name_get(mod.name, task_layer_owner)
|
mod.name = task_layer_prefix_name_get(mod.name, task_layer_owner)
|
||||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||||
@ -238,6 +239,7 @@ def init_modifiers(scene, obj):
|
|||||||
owner=task_layer_owner,
|
owner=task_layer_owner,
|
||||||
type=td_type_key,
|
type=td_type_key,
|
||||||
obj=obj,
|
obj=obj,
|
||||||
|
surrender=auto_surrender,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -324,7 +326,7 @@ def init_constraints(scene, obj):
|
|||||||
td_type_key = constants.CONSTRAINT_KEY
|
td_type_key = constants.CONSTRAINT_KEY
|
||||||
transfer_data = obj.transfer_data_ownership
|
transfer_data = obj.transfer_data_ownership
|
||||||
asset_pipe = scene.asset_pipeline
|
asset_pipe = scene.asset_pipeline
|
||||||
task_layer_owner = get_transfer_data_owner(
|
task_layer_owner, auto_surrender = get_transfer_data_owner(
|
||||||
asset_pipe,
|
asset_pipe,
|
||||||
td_type_key,
|
td_type_key,
|
||||||
)
|
)
|
||||||
@ -338,6 +340,7 @@ def init_constraints(scene, obj):
|
|||||||
owner=task_layer_owner,
|
owner=task_layer_owner,
|
||||||
type=td_type_key,
|
type=td_type_key,
|
||||||
obj=obj,
|
obj=obj,
|
||||||
|
surrender=auto_surrender,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -438,11 +441,16 @@ def init_material_slots(scene, obj):
|
|||||||
matches = check_transfer_data_entry(transfer_data, name, td_type_key)
|
matches = check_transfer_data_entry(transfer_data, name, td_type_key)
|
||||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||||
if len(matches) == 0:
|
if len(matches) == 0:
|
||||||
|
task_layer_owner, auto_surrender = get_transfer_data_owner(
|
||||||
|
asset_pipe,
|
||||||
|
td_type_key,
|
||||||
|
)
|
||||||
asset_pipe.add_temp_transfer_data(
|
asset_pipe.add_temp_transfer_data(
|
||||||
name=name,
|
name=name,
|
||||||
owner=get_transfer_data_owner(asset_pipe, td_type_key),
|
owner=task_layer_owner,
|
||||||
type=td_type_key,
|
type=td_type_key,
|
||||||
obj=obj,
|
obj=obj,
|
||||||
|
surrender=auto_surrender,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -702,11 +710,15 @@ def init_attributes(scene, obj):
|
|||||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||||
matches = check_transfer_data_entry(transfer_data, atttribute.name, td_type_key)
|
matches = check_transfer_data_entry(transfer_data, atttribute.name, td_type_key)
|
||||||
if len(matches) == 0:
|
if len(matches) == 0:
|
||||||
|
task_layer_owner, auto_surrender = get_transfer_data_owner(
|
||||||
|
asset_pipe, td_type_key, atttribute.name
|
||||||
|
)
|
||||||
asset_pipe.add_temp_transfer_data(
|
asset_pipe.add_temp_transfer_data(
|
||||||
name=atttribute.name,
|
name=atttribute.name,
|
||||||
owner=get_transfer_data_owner(asset_pipe, td_type_key, atttribute.name),
|
owner=task_layer_owner,
|
||||||
type=td_type_key,
|
type=td_type_key,
|
||||||
obj=obj,
|
obj=obj,
|
||||||
|
surrender=auto_surrender,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -774,11 +786,16 @@ def init_parent(scene, obj):
|
|||||||
matches = check_transfer_data_entry(transfer_data, name, td_type_key)
|
matches = check_transfer_data_entry(transfer_data, name, td_type_key)
|
||||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||||
if len(matches) == 0:
|
if len(matches) == 0:
|
||||||
|
task_layer_owner, auto_surrender = get_transfer_data_owner(
|
||||||
|
asset_pipe,
|
||||||
|
td_type_key,
|
||||||
|
)
|
||||||
asset_pipe.add_temp_transfer_data(
|
asset_pipe.add_temp_transfer_data(
|
||||||
name=name,
|
name=name,
|
||||||
owner=get_transfer_data_owner(asset_pipe, td_type_key),
|
owner=task_layer_owner,
|
||||||
type=td_type_key,
|
type=td_type_key,
|
||||||
obj=obj,
|
obj=obj,
|
||||||
|
surrender=auto_surrender,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -110,12 +110,14 @@ def transfer_data_item_init(
|
|||||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||||
matches = check_transfer_data_entry(transfer_data, item.name, td_type_key)
|
matches = check_transfer_data_entry(transfer_data, item.name, td_type_key)
|
||||||
if len(matches) == 0:
|
if len(matches) == 0:
|
||||||
|
task_layer_owner, auto_surrender = get_transfer_data_owner(
|
||||||
|
asset_pipe,
|
||||||
|
td_type_key,
|
||||||
|
)
|
||||||
asset_pipe.add_temp_transfer_data(
|
asset_pipe.add_temp_transfer_data(
|
||||||
name=item.name,
|
name=item.name,
|
||||||
owner=get_transfer_data_owner(
|
owner=task_layer_owner,
|
||||||
asset_pipe,
|
|
||||||
td_type_key,
|
|
||||||
),
|
|
||||||
type=td_type_key,
|
type=td_type_key,
|
||||||
obj=obj,
|
obj=obj,
|
||||||
|
surrender=auto_surrender,
|
||||||
)
|
)
|
||||||
|
@ -74,13 +74,14 @@ class AssetPipeline(bpy.types.PropertyGroup):
|
|||||||
|
|
||||||
temp_transfer_data: bpy.props.CollectionProperty(type=AssetTransferDataTemp)
|
temp_transfer_data: bpy.props.CollectionProperty(type=AssetTransferDataTemp)
|
||||||
|
|
||||||
def add_temp_transfer_data(self, name, owner, type, obj):
|
def add_temp_transfer_data(self, name, owner, type, obj, surrender):
|
||||||
new_transfer_data = self.temp_transfer_data
|
new_transfer_data = self.temp_transfer_data
|
||||||
transfer_data_item = new_transfer_data.add()
|
transfer_data_item = new_transfer_data.add()
|
||||||
transfer_data_item.name = name
|
transfer_data_item.name = name
|
||||||
transfer_data_item.owner = owner
|
transfer_data_item.owner = owner
|
||||||
transfer_data_item.type = type
|
transfer_data_item.type = type
|
||||||
transfer_data_item.obj = obj
|
transfer_data_item.obj = obj
|
||||||
|
transfer_data_item.surrender = surrender
|
||||||
|
|
||||||
## NEW FILE
|
## NEW FILE
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user