프레임워크 팀이 제공하는 인벤토리 시스템 사용법


빠른 시작

1단계: Stage에서 인벤토리 생성

public class YourStage : BaseStage
{
    public Inventory MyInven;  // Inspector에서 확인 가능

    public override IEnumerator OnStageEnter()
    {
        yield return base.OnStageEnter();

        // 인벤토리 로드 또는 생성 (자동 저장됨)
        MyInven = InventoryManager.Instance.LoadOrCreateInventory("YOUR_TEAM", "YourInventory.json");

        yield return null;
    }
}

2단계: 아이템 추가/제거/사용

// 아이템 데이터 가져오기
IItemable item = ItemManager.Instance.GetItem(itemID);

// 인벤토리에 추가
MyInven.AddItem(item, 10);

// 아이템 사용
MyInven.UseItem(itemID, 1);

// 아이템 제거
MyInven.RemoveItem(itemID, 5);

끝! 이게 전부입니다.


주요 기능

아이템 관리

기능 코드
아이템 추가 MyInven.AddItem(item, quantity)
아이템 제거 MyInven.RemoveItem(itemID, quantity)
아이템 사용 MyInven.UseItem(itemID, quantity)
개수 확인 MyInven.GetItemCount(itemID)
소지 여부 MyInven.HasItem(itemID, requiredQuantity)
전체 목록 MyInven.GetAllItems()

아이템 데이터 조회

// ID로 조회
IItemable item = ItemManager.Instance.GetItem(1001);

// 이름으로 조회
IItemable item = ItemManager.Instance.GetItem("포션");

// 타입별 조회
List<LUPItemData> weapons = ItemManager.Instance.GetItemsByType(Define.ItemType.Weapon);


실전 예제

1. 아이템 획득 (보상, 드롭 등)

void GiveReward(int itemID, int quantity)
{
    IItemable item = ItemManager.Instance.GetItem(itemID);

    if (item != null && MyInven.AddItem(item, quantity))
    {
        Debug.Log($"{item.ItemName} x{quantity} 획득!");
    }
}

2. 아이템 사용 (포션, 소비 아이템 등)