using Types.Items; using UnityEngine; namespace Data.ScriptableObjects.Items { // [CreateAssetMenu(fileName = "GameItem", menuName = "Game Data/Game Item")] // public enum ItemType // { // Key, // Weapon, // Consumable, // Resource, // Seed, // Equipment, // Crop, // Tool // } // // public enum ItemRarity // { // Common, // Uncommon, // Rare, // Epic, // Legendary, // Mythic // } public class GameItemSo : ScriptableObject { public Sprite icon; public int id; public bool isConsumable; public bool isCraftable; public bool isDestroyable; public bool isDroppable; public bool isEquippable; public bool isKeyItem; public bool isQuestItem; public bool isSellable; public bool isStackable; public bool isTradeable; public bool isUsable; public string itemName; public int itemValue; public int quantity; public ItemRarity rarity; public int sellValue; public string spritePath; public int stackSize; public ItemType type; public GameItem Clone() { var clone = new GameItem { ID = id, ItemName = itemName, Icon = icon, ItemValue = itemValue, Rarity = rarity, Quantity = quantity, StackSize = stackSize, SellValue = sellValue, IsStackable = isStackable, IsEquippable = isEquippable, IsConsumable = isConsumable, IsQuestItem = isQuestItem, IsKeyItem = isKeyItem, IsCraftable = isCraftable, IsTradeable = isTradeable, IsSellable = isSellable, IsDroppable = isDroppable, IsDestroyable = isDestroyable, IsUsable = isUsable, SpritePath = spritePath, Type = type }; return clone; } public int GetId() { return id; } public string GetItemName() { return itemName; } public Sprite GetIcon() { return icon; } public int GetItemValue() { return itemValue; } public int GetQuantity() { return quantity; } } }