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