프레임워크 팀이 제공하는 인벤토리 시스템 사용법
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;
}
}
// 아이템 데이터 가져오기
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);
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} 획득!");
}
}