From bd66e9de973e3d77653b3cfc988d7767c6a7b45b Mon Sep 17 00:00:00 2001 From: Pao Date: Sat, 11 Feb 2023 14:27:07 +0100 Subject: [PATCH] automatically generating item via script --- python_helpers/main.py | 45 +++++++++++++++++++++++++----- python_helpers/modules_prost.xlsx | Bin 31029 -> 31333 bytes 2 files changed, 38 insertions(+), 7 deletions(-) diff --git a/python_helpers/main.py b/python_helpers/main.py index 566c62c..7b4f0d4 100644 --- a/python_helpers/main.py +++ b/python_helpers/main.py @@ -4,7 +4,7 @@ import numpy as np import openpyxl -def generate_clothing_item(name, part, model, texture_choices, guid = None): +def generate_clothing_item(name, model, texture_choices, guid = None): root = gfg.Element("clothingItem") m_MaleModel = gfg.Element("m_MaleModel") @@ -39,7 +39,7 @@ def generate_clothing_item(name, part, model, texture_choices, guid = None): tree = gfg.ElementTree(root) - path = r'output_clothing/Prost_' + part + "_" + name + ".xml" + path = r'python_helpers/outputs/output_clothing/' + name + ".xml" with open(path, "wb") as file: tree.write(file, encoding='utf-8', xml_declaration=True, pretty_print=True ) @@ -89,16 +89,18 @@ def generate_item(item_name, weight, item_type, display_category, display_name, root_element += f"\t\tIcon = {icon},\n" root_element += f"\t\tTooltip = {tooltip},\n" - root_element += f"\t\tCanHaveHoles = {can_have_holes},\n" + root_element += f"\t\tCanHaveHoles = {can_have_holes.lower()},\n" - root_element += "\t}" + root_element += "\t}\n" + path = r'python_helpers/outputs/output_item/script.txt' - with open("Test_Item.txt", "wt") as file: + with open(path, "at") as file: file.write(root_element) file.close() + ########################################################################################### def read_table(file_name: str, table_name: str) -> pd.DataFrame: wb = openpyxl.load_workbook(file_name, read_only= False, data_only = True) # openpyxl does not have table info if read_only is True; data_only means any functions will pull the last saved value instead of the formula @@ -122,16 +124,45 @@ excel_path = r'python_helpers/modules_prost.xlsx' df_base = read_table(excel_path, "BaseTable") df_top = read_table(excel_path, "TopTable") + +# CLOTHING GENERATION PASS + +limbs = ["Hand", "LowerArm"] +sides = ["Left", "Right"] + for base_row in df_base.iterrows(): for top_row in df_top.iterrows(): base_name = base_row[1][0] top_name = top_row[1][0] - current_name = base_name + "_" + top_name - generate_clothing_item(current_name, "LowerArm", "test", {"test1", "test2"}, "123") + for limb in limbs: + for side in sides: + current_name = "Prost_" + side + "_" + limb + "_" + base_name + "_" + top_name + generate_clothing_item(current_name, "test", {"test1", "test2"}, "123") +prost_bodylocations = ["TOC_ArmRightProsthesis", "TOC_ArmLeftProsthesis"] + + + +# ITEM GENERATION PASS - ASSEMBLED +for base_row in df_base.iterrows(): + for top_row in df_top.iterrows(): + base_id = base_row[1]["Base"] + top_id = top_row[1]["Top"] + + item_id = base_id + "_" + top_id + item_type = "Clothing" + weight = "{0:.2f}".format(float(base_row[1]["Weight"]) + float(top_row[1]["Weight"])) + display_category = "Prosthesis" + display_name = "Prosthesis - " + base_row[1]["Display Name"] + " - " + top_row[1]["Display Name"] + + for limb in limbs: + for side in sides: + clothing_item_name = "Prost_" + side + "_" + limb + "_" + base_id + "_" + top_id + bl = prost_bodylocations[0] if side == "Right" else prost_bodylocations[1] + generate_item(item_id, weight, item_type, display_category, display_name, "TempIcon", "TempTooltip", "false", clothing_item_name, bl, "TestBloodLocation") diff --git a/python_helpers/modules_prost.xlsx b/python_helpers/modules_prost.xlsx index f0e7b33fc602f0bfdb7279c824ceaf9c11f1500c..2fe1c773296b84c53e1a8d11f0bc3be42b2cd0a2 100644 GIT binary patch delta 4432 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 delta 4100 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