Files

49 lines
1.4 KiB
C#

using UnityEngine;
public enum ItemType
{
EQUIPMENT = 0,
CONSUMABLE = 1
}
public enum ItemEffectType
{
NONE = 0,
RECOVERY_HP = 1,
INTERVAL_DAMAGE = 2
}
[CreateAssetMenu(fileName = "New Item", menuName = "Item")]
public class Item : UseableEntry
{
public string ItemId;
public ItemType ItemType;
public ItemEffectType ItemEffectType;
public GameObject ItemEffectVisual;
public int SortId;
public bool IsStackable; // 중첩 가능 여부
public int MaxStack = 99; //장비는 1개
public int Rarity = 1; //기본등급 1
// 월드용 데이터
public GameObject PrefabVisible; // 월드상에서 보일 아이템의 프리팹
public GameObject PrefabTuning; // 위치,회전 등이 조정된 모델
public GameObject PrefabWild; // 아무런 조정도 하지 않은 아이템의 진짜 원본
public Vector3 WorldScale = Vector3.one; // 아이템마다 다른 크기 조절이 필요할 때
public Vector3 WorldRotation = Vector3.zero;
[Header("Collider Settings")]
public Vector3 ColliderCenter = Vector3.zero;
public Vector3 ColliderSize = Vector3.one;
//ItemEffectType.RECOVERY_HP
public float RecoveryHP;
//ItemEffectType.INTERVAL_DAMAGE 일 경우
public float IntervalDamage;
public float IntervalDamageTime;
public override IUseableRuntime CreateRuntime() => new ItemInstance(this);
}