From 5e14cc355fd3a4a27a0196f504fee16d68f39612 Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Wed, 02 Apr 2025 17:25:03 +0000 Subject: [PATCH] #41 fixed item description text --- Assets/Scripts/Inventory/InventoryDisplay.cs | 77 ++++++++++++++++++++++++++++++++------ 1 files changed, 65 insertions(+), 12 deletions(-) diff --git a/Assets/Scripts/Inventory/InventoryDisplay.cs b/Assets/Scripts/Inventory/InventoryDisplay.cs index a7d3fad..0b2690b 100644 --- a/Assets/Scripts/Inventory/InventoryDisplay.cs +++ b/Assets/Scripts/Inventory/InventoryDisplay.cs @@ -1,4 +1,5 @@ using Assets.Scripts.Enums; +using Assets.Scripts.Helpers; using System; using System.Collections; using System.Collections.Generic; @@ -17,6 +18,7 @@ public GameObject itemNameDescription; public GameObject itemDescription; public GameObject itemDeleteButton; + public GameObject inventoryMaxAmount; public List<GameObject> itemUIs = new List<GameObject>(); @@ -58,15 +60,20 @@ //} if (context.started) { - inventoryPanel.SetActive(!inventoryPanel.activeSelf); - if (inventoryPanel.activeSelf) - { - UpdateItemContentList(); - } - else - { - //ClearItemContentList(); - } + ToggleInventoryPanel(); + } + } + + public void ToggleInventoryPanel() + { + inventoryPanel.SetActive(!inventoryPanel.activeSelf); + if (inventoryPanel.activeSelf) + { + UpdateItemContentList(); + } + else + { + //ClearItemContentList(); } } @@ -152,18 +159,19 @@ //} if (itemNameDescription.GetComponent<ItemUIScript>()?.InventorySlot?.item?.itemName == inventorySlot.item.itemName) { - itemDescription.SetActive(!itemNameDescription.activeSelf); + itemDescription.transform.parent.parent.parent.gameObject.SetActive(!itemNameDescription.activeSelf); itemDeleteButton.SetActive(!itemNameDescription.activeSelf); itemNameDescription.SetActive(!itemNameDescription.activeSelf); } else { - itemDescription.SetActive(true); + itemDescription.transform.parent.parent.parent.gameObject.SetActive(true); itemDeleteButton.SetActive(true); itemNameDescription.SetActive(true); } itemNameDescription.GetComponent<ItemUIScript>().InventorySlot = inventorySlot; itemDescription.GetComponent<ItemUIScript>().InventorySlot = inventorySlot; + ResetScrollbarForDescription(); } public void OnItemDeleteClick() { @@ -173,12 +181,57 @@ inventory.RemoveItem(inventorySlot.item, inventorySlot.quantity); itemNameDescription.SetActive(false); itemDeleteButton.SetActive(false); - itemDescription.SetActive(false); + ResetScrollbarForDescription(); + itemDescription.transform.parent.parent.parent.gameObject.SetActive(false); } + } + + private void ResetScrollbarForDescription() + { + //var scrollRect = itemDescription.transform.parent.parent.GetComponent<ScrollRect>(); + //if (scrollRect != null) + //{ + // // Reset the scroll position + // scrollRect.normalizedPosition = Vector2.one; // (1,1) = top, (0,0) = bottom + + // // Force the scroll view to refresh its layout + // LayoutRebuilder.ForceRebuildLayoutImmediate(scrollRect.content); + + // // Reset the content's position + // var content = itemDescription.transform.Find("ItemTextDescription"); + // if (content != null) + // { + // RectTransform rectTransform = content.GetComponent<RectTransform>(); + // if (rectTransform != null) + // { + // rectTransform.anchoredPosition = Vector2.zero; + // } + // } + //} + // Reset the scroll position + var scrollrect = itemDescription.transform.parent.parent.GetComponent<ScrollRect>(); + if (scrollrect != null) + { + //Debug.Log("Resetting scroll position"); + scrollrect.verticalNormalizedPosition = 1; // 0 = top, 1 = bottom + } + // Reset the content's position + // transform.Find("ItemTextDescription") + //var content = itemDescription.transform.Find("ItemTextDescription"); + //if (content != null) + //{ + // RectTransform rectTransform = content.GetComponent<RectTransform>(); + // if (rectTransform != null) + // { + // rectTransform.anchoredPosition = Vector2.zero; + // } + //} } private void UpdateItemContentList() { + UIHelper.UpdateItemMaxCountText(inventoryMaxAmount.GetComponent<TextMeshProUGUI>(), inventory.items.Count, inventory.maxInventorySize); + // First, deactivate all existing itemUIs itemUIs.ForEach(itemUI => itemUI.SetActive(false)); -- Gitblit v1.9.3