From 1f46626c1d98f37b1fdb65abf6f4dea271494689 Mon Sep 17 00:00:00 2001
From: miepzerino <o.skotnik@gmail.com>
Date: Tue, 01 Apr 2025 15:53:40 +0000
Subject: [PATCH] fixed ruletileset
---
Assets/Scripts/Inventory/ItemDatabase.cs | 75 +++++++++++++++++++++++++++++++++++++
1 files changed, 75 insertions(+), 0 deletions(-)
diff --git a/Assets/Scripts/Inventory/ItemDatabase.cs b/Assets/Scripts/Inventory/ItemDatabase.cs
new file mode 100644
index 0000000..c0a0067
--- /dev/null
+++ b/Assets/Scripts/Inventory/ItemDatabase.cs
@@ -0,0 +1,75 @@
+using System.Collections.Generic;
+using UnityEngine;
+
+public class ItemDatabase : MonoBehaviour
+{
+ 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>();
+
+ private void Awake()
+ {
+ if (Instance == null)
+ {
+ Instance = this;
+ InitializeItemDictionary();
+ }
+ else
+ {
+ Destroy(gameObject);
+ }
+ }
+
+ private void InitializeItemDictionary()
+ {
+ itemDictionary.Clear();
+ itemIdDictionary.Clear();
+
+ foreach (Item item in items)
+ {
+ if (!itemDictionary.ContainsKey(item.itemName))
+ {
+ itemDictionary.Add(item.itemName, item);
+ }
+ else
+ {
+ Debug.LogError($"Duplicate item name found in ItemDatabase: {item.itemName}");
+ }
+
+ if (!itemIdDictionary.ContainsKey(item.itemId))
+ {
+ itemIdDictionary.Add(item.itemId, item);
+ }
+ else
+ {
+ Debug.LogError($"Duplicate item ID found in ItemDatabase: {item.itemId}");
+ }
+ }
+ }
+
+ public Item GetItem(string itemName)
+ {
+ if (itemDictionary.TryGetValue(itemName, out Item item))
+ {
+ return item;
+ }
+
+ Debug.LogWarning($"Item not found in database: {itemName}");
+ return null;
+ }
+
+ public Item GetItem(int itemId)
+ {
+ if (itemIdDictionary.TryGetValue(itemId, out Item item))
+ {
+ return item;
+ }
+
+ Debug.LogWarning($"Item not found in database: ID {itemId}");
+ return null;
+ }
+}
--
Gitblit v1.10.0