using UnityEngine; namespace Kryz.CharacterStats.Examples { [CreateAssetMenu] public class Item : ScriptableObject { public string ItemName; public Sprite Icon; public int sellPricePlayer; public int sellPriceVendor; public string description; public static ItemInstance ConvertTemplateIntoInstance(Item template) { if(template is EquippableItem item) { return new EquippableItemInstance(item, item.CraftableBase); } else if(template is HiddenMap map) { return new HiddenMapInstance(map); } else if(template is CraftingStatStoneTemplate stone) { return new CraftingStatStone(stone); } return new ItemInstance(template); } public static ItemInstance ConvertTemplateIntoInstance(Item template, int templateIndex) { if (template is EquippableItem item) { return new EquippableItemInstance(item, item.CraftableBase); } return new ItemInstance(template, templateIndex); } } }