Есть несколько классов, обозначающие что это за предмет, например:
using UnityEngine;
[CreateAssetMenu(fileName = "Weapon name", menuName = "Items/Weapon")]
public class Weapon : ScriptableObject
{
public ItemProp MainProp;
public int Damage;
public int Firerate;
public int Strength;
}
ИЛИ
using UnityEngine;
[CreateAssetMenu(fileName = "Resource name", menuName = "Items/Resource")]
public class CraftResources : ScriptableObject
{
public ItemProp MainProp;
}
Есть класс Items:
public class Items
{
public static List<Weapon> Weapons = new List<Weapon>();
public static List<CraftResources> Resources = new List<CraftResources>();
public static List<Tool> Tools = new List<Tool>();
public static List<Armor> Armors = new List<Armor>();
public static int MaxItemsCount;
public void AddItem()
{
}
}
Я добавил метод AddItem и у меня проблема, как добавить предмет в нужную категорию? Я вообще думал сначало вместо кучи классов создать один Item, но как тогда в Scriptable object его настраивать, да и в лист такой не запихнешь. Может мне как то по умному изменить?