From 034ed30da10c2117e9c2507ed1fef3cab43ee79c Mon Sep 17 00:00:00 2001 From: miepzerino <o.skotnik@gmail.com> Date: Wed, 02 Apr 2025 08:56:56 +0000 Subject: [PATCH] #36 load all items into itemDatabase on startup --- Assets/Scripts/Inventory/ItemDatabase.cs | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/Inventory/ItemDatabase.cs b/Assets/Scripts/Inventory/ItemDatabase.cs index c0a0067..b4832cb 100644 --- a/Assets/Scripts/Inventory/ItemDatabase.cs +++ b/Assets/Scripts/Inventory/ItemDatabase.cs @@ -5,9 +5,7 @@ { public static ItemDatabase Instance { get; private set; } - [SerializeField] private List<Item> items = new List<Item>(); - private Dictionary<string, Item> itemDictionary = new Dictionary<string, Item>(); private Dictionary<int, Item> itemIdDictionary = new Dictionary<int, Item>(); @@ -16,6 +14,7 @@ if (Instance == null) { Instance = this; + LoadItemsFromResources(); InitializeItemDictionary(); } else @@ -24,6 +23,30 @@ } } + private void LoadItemsFromResources() + { + // Load all Item prefabs from the "Resources/Items" folder + GameObject[] itemPrefabs = Resources.LoadAll<GameObject>("Items"); + + foreach (GameObject prefab in itemPrefabs) + { + Item item = prefab.GetComponent<Item>(); + if (item != null) + { + items.Add(item); + } + else + { + Debug.LogWarning($"Prefab {prefab.name} does not have an Item component"); + } + } + + if (items.Count == 0) + { + Debug.LogWarning("No items found in Resources/Items folder"); + } + } + private void InitializeItemDictionary() { itemDictionary.Clear(); -- Gitblit v1.9.3