Files
Ultimate-Fishing-Simulator-…/Assets/Scripts/Assembly-CSharp/ItemDatabase.cs
2026-03-04 09:37:33 +08:00

50 lines
951 B
C#

using System.Collections.Generic;
using System.Linq;
using UFS3;
using UnityEngine;
[CreateAssetMenu(fileName = "ItemDatabase", menuName = "Scriptable Objects/ItemDatabase")]
public class ItemDatabase : ScriptableObject
{
[Header("VERY IMPORTANT, DONT REMOVE, CHANGE ORDER OF LIST, ONLY ADD NEW ITEMS")]
public List<BaseItemData> Items;
public BaseItemData GetItemById(int id)
{
return Items[id];
}
public void ValidateIDs()
{
int num = 0;
foreach (BaseItemData item in Items)
{
if (item == null)
{
Debug.LogError($"ItemDatabase: Item with id {num} has null item, skipping.");
num++;
}
else
{
item.ID = num;
num++;
}
}
}
public int GetID(BaseItemData item)
{
if (Items.Count != Items.Distinct().Count())
{
Debug.LogError("Have duplicate IDs");
return -1;
}
int num = Items.IndexOf(item);
if (num == -1)
{
Debug.LogError("No item found returns -1");
}
return num;
}
}