Item 클래슀 :


μŠ€ν¬λ¦½ν„°λΈ” 였브젝트

μ•„μ΄ν…œ μ½”λ“œ, μˆ˜λŸ‰ λ“± μ•„μ΄ν…œ 정보λ₯Ό λ‹΄μŒ




ItemDB 클래슀 :


싱글톀 클래슀


AssetDatabase.FindAssets("t:Item")

에셋 λ‚΄ λͺ¨λ“  μ•„μ΄ν…œ νƒ€μž…μ„ μ°Ύμ•„μ„œ λͺ¨μ€ ν›„

μ•„μ΄ν…œ μ½”λ“œλ₯Ό ν‚€, μ•„μ΄ν…œ 클래슀λ₯Ό κ°’μœΌλ‘œ ν•˜λŠ” λ”•μ…”λ„ˆλ¦¬λ₯Ό λ§Œλ“¦


μ•„μ΄ν…œ μ½”λ“œλ₯Ό λ°›μ•„λ‹€κ°€ λ§€μΉ­λ˜λŠ” μ•„μ΄ν…œμ„ λ°˜ν™˜ν•΄μ£ΌλŠ” GetItem λ©”μ„œλ“œλ₯Ό λ§Œλ“¦



이제 인벀토리 같은 곳에 μ•„μ΄ν…œ νšλ“ κΈ°λŠ₯이 μžˆλ‹€ 치면..


public void AcquireItem(int itemCode, int quantity = 1)

{


Item item = ItemDB.instance.GetItem(itemCode);


이런 μ‹μœΌλ‘œ μ•„μ΄ν…œ μ½”λ“œλ‘œ μ•„μ΄ν…œμ„ λ°›μ•„μ˜¨ ν›„..


ν˜„μž¬ 인벀토리 λ¦¬μŠ€νŠΈμ— μžˆλŠ” μΌμΉ˜ν•˜λŠ” μ•„μ΄ν…œμ˜ quantityλ₯Ό 올리고,

λ§Œμ•½ ν•΄λ‹Ή μ•„μ΄ν…œμ΄ 인벀토리 λ¦¬μŠ€νŠΈμ— μ—†λ‹€λ©΄


Item newItem = ScriptableObject.CreateInstance<Item>();
newItem.itemName = item.itemName;

newItem.itemType = item.itemType;
newItem.quantity = quantity;

.

.

.

itemCells.Add(newItem);


}


μ΄λ ‡κ²Œ μŠ€ν¬λ¦½ν„°λΈ” 였브젝트의 μΈμŠ€ν„΄μŠ€λ₯Ό 생성