fix itemized_carrier.unassign_child_resource

This commit is contained in:
Junhan Chang
2025-10-19 05:19:19 +08:00
parent d78475de9a
commit 2d0ff87bc8
2 changed files with 9 additions and 8 deletions

View File

@@ -639,6 +639,8 @@ def resource_bioyond_to_plr(bioyond_materials: list[dict], type_mapping: Dict[st
# 处理子物料detail # 处理子物料detail
if material.get("detail") and len(material["detail"]) > 0: if material.get("detail") and len(material["detail"]) > 0:
for bottle in reversed(plr_material.children):
plr_material.unassign_child_resource(bottle)
child_ids = [] child_ids = []
for detail in material["detail"]: for detail in material["detail"]:
number = ( number = (
@@ -646,12 +648,10 @@ def resource_bioyond_to_plr(bioyond_materials: list[dict], type_mapping: Dict[st
+ (detail.get("y", 0) - 1) * plr_material.num_items_y + (detail.get("y", 0) - 1) * plr_material.num_items_y
+ (detail.get("x", 0) - 1) + (detail.get("x", 0) - 1)
) )
bottle = plr_material[number] typeName = detail.get("typeName", detail.get("name", ""))
if detail["typeName"] in type_mapping: if typeName in type_mapping:
# plr_material.unassign_child_resource(bottle) bottle = plr_material[number] = initialize_resource(
plr_material.sites[number] = None {"name": f'{detail["name"]}_{number}', "class": type_mapping[typeName][0]}, resource_type=ResourcePLR
plr_material[number] = initialize_resource(
{"name": f'{detail["name"]}_{number}', "class": type_mapping[detail["typeName"]][0]}, resource_type=ResourcePLR
) )
else: else:
bottle.tracker.liquids = [ bottle.tracker.liquids = [

View File

@@ -164,8 +164,9 @@ class ItemizedCarrier(ResourcePLR):
break break
if not found: if not found:
raise ValueError(f"Resource {resource} is not assigned to this carrier") raise ValueError(f"Resource {resource} is not assigned to this carrier")
if hasattr(resource, "unassign"): super().unassign_child_resource(resource)
resource.unassign() # if hasattr(resource, "unassign"):
# resource.unassign()
def get_child_identifier(self, child: ResourcePLR): def get_child_identifier(self, child: ResourcePLR):
"""Get the identifier information for a given child resource. """Get the identifier information for a given child resource.