From a33c35722bf21c8e86c4af4a053d6304ab0b32d9 Mon Sep 17 00:00:00 2001 From: VuNgocHaiC7 Date: Thu, 2 Apr 2026 17:57:25 +0700 Subject: [PATCH] update ui for dialogProduce.prefab --- .../Scripts/UI/Dialogs/DlgProduce.cs | 106 +- .../Scripts/UI/ProduceItemPanel.cs | 7 +- Assets/PerfectWorld/UI/DlgProduce.prefab | 19763 +++------------- Assets/Prefabs/UI/itemProduce.prefab | 328 +- 4 files changed, 3841 insertions(+), 16363 deletions(-) diff --git a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgProduce.cs b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgProduce.cs index 561c03662c..936bbfbb21 100644 --- a/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgProduce.cs +++ b/Assets/PerfectWorld/Scripts/UI/Dialogs/DlgProduce.cs @@ -28,7 +28,7 @@ namespace BrewMonster [SerializeField] private GameObject itemPb; [Header("Quantity")] - [SerializeField] private List quantityText; + [SerializeField] private TextMeshProUGUI quantityText; [SerializeField] private Button quantityIncreaseBtn; [SerializeField] private Button quantityDecreaseBtn; [SerializeField] private Button quantityMaxBtn; @@ -42,7 +42,7 @@ namespace BrewMonster [SerializeField] private List materialSlots = new List(); [Header("Result Slot")] - [SerializeField] private Transform itemResult; + [SerializeField] private Image itemResult; [Header("Item Info Panel")] public Transform itemInfoRoot; @@ -56,6 +56,9 @@ namespace BrewMonster [SerializeField] private TextMeshProUGUI weponDescInfoText; [SerializeField] private TextMeshProUGUI weponExtraInfoText; + [Header("Default")] + [SerializeField] private Sprite khung_item; + private NPC_MAKE_SERVICE? cachedMakeService = null; private int currentTabIndex = 0; private uint selectedRecipeId = 0; // Track the currently selected recipe @@ -79,8 +82,7 @@ namespace BrewMonster public override void Start() { - quantityText[0].text = currentQuantity.ToString(); - quantityText[1].text = currentQuantity.ToString(); + quantityText.text = currentQuantity.ToString(); quantityDecreaseBtn.onClick.AddListener(OnClickDecreaseBtn); quantityIncreaseBtn.onClick.AddListener(OnClickIncreaseBtn); quantityMaxBtn.onClick.AddListener(OnClickMaxBtn); @@ -309,8 +311,15 @@ namespace BrewMonster btn.onClick.RemoveAllListeners(); btn.onClick.AddListener(() => { - ShowItemInfoByRecipe(recipeId); + bool isNewRecipe = selectedRecipeId != recipeId; + selectedRecipeId = recipeId; + if (isNewRecipe) + { + currentQuantity = 1; + UpdateQuantityText(currentQuantity); + } ShowRecipeMaterials(recipeId); + ShowItemInfoByRecipe(recipeId); }); } @@ -331,14 +340,12 @@ namespace BrewMonster { if (slot == null) continue; - slot.gameObject.SetActive(false); - Transform iconTf = slot.Find("item"); if (iconTf != null) { Image img = iconTf.GetComponent(); if (img != null) - img.sprite = null; + img.sprite = khung_item; } Transform qtyTf = slot.Find("text_quantity"); @@ -352,30 +359,14 @@ namespace BrewMonster if (itemResult != null) { - itemResult.gameObject.SetActive(false); - - Transform iconTf = itemResult.Find("item"); - if (iconTf != null) - { - Image img = iconTf.GetComponent(); - if (img != null) - img.sprite = null; - } - - Transform qtyTf = itemResult.Find("text_quantity"); - if (qtyTf != null) - { - TextMeshProUGUI txt = qtyTf.GetComponent(); - if (txt != null) - txt.text = ""; - } + itemResult.sprite = khung_item; } } public void ShowRecipeMaterials(uint recipeId) { - selectedRecipeId = recipeId; // Track the selected recipe + selectedRecipeId = recipeId; ClearMaterialSlots(); var edm = ElementDataManProvider.GetElementDataMan(); @@ -395,32 +386,20 @@ namespace BrewMonster { uint outputItemId = recipe.targets[0].id_to_make; - itemResult.gameObject.SetActive(true); - - Transform iconTf = itemResult.Find("item"); - if (iconTf != null) + if (itemResult != null) { - Image img = iconTf.GetComponent(); - if (img != null) + if (itemResult != null) { Sprite sp = EC_IvtrItemUtils.Instance.ResolveItemIconSprite((int)outputItemId); if (sp != null) { - img.sprite = sp; - img.enabled = true; - img.preserveAspect = true; + itemResult.sprite = sp; + itemResult.enabled = true; + itemResult.preserveAspect = true; } } } - Transform qtyTf = itemResult.Find("text_quantity"); - if (qtyTf != null) - { - TextMeshProUGUI txt = qtyTf.GetComponent(); - if (txt != null) - txt.text = "1"; - } - Button resultBtn = itemResult.GetComponent