From ab5a24f4c0cffbc8e8f76e40293f2201027b7c50 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Mon, 07 Apr 2025 22:59:16 +0000
Subject: [PATCH] #49 added parallax and tiling to background

---
 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