51 lines
1.2 KiB
C#
51 lines
1.2 KiB
C#
using UnityEngine;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace BlueWaterProject
|
|
{
|
|
public enum ItemRarity
|
|
{
|
|
COMMON,
|
|
UNCOMMON,
|
|
RARE,
|
|
LEGENDARY
|
|
}
|
|
|
|
[CreateAssetMenu(fileName = "Item", menuName = "ScriptableObjects/Item/BaseItem")]
|
|
public abstract class Item : ScriptableObject
|
|
{
|
|
[Tooltip("고유 식별 ID")]
|
|
public string id;
|
|
|
|
[Tooltip("이름")]
|
|
public string name;
|
|
|
|
[Tooltip("아이콘")]
|
|
public Sprite icon;
|
|
|
|
[Tooltip("설명"), TextArea(3, 10)]
|
|
public string description;
|
|
|
|
[Tooltip("가격")]
|
|
public int price;
|
|
|
|
[Tooltip("무게")]
|
|
public int weight;
|
|
|
|
[Tooltip("등급")]
|
|
public ItemRarity rarity;
|
|
|
|
public abstract void Use();
|
|
|
|
public void Acquire(int count)
|
|
{
|
|
DataManager.Inst.PlayerInventory.AddItem(this, count);
|
|
}
|
|
|
|
public GameObject InstantiateItem(GameObject prefab, Vector3 position, Quaternion rotation = default)
|
|
{
|
|
var instantiateItem = Instantiate(prefab, position, rotation);
|
|
return instantiateItem;
|
|
}
|
|
}
|
|
} |