Unity: 제작 시 인벤토리 아이템 소모

이재형·2024년 6월 10일
0
post-thumbnail
post-custom-banner

Unity 공부

문제 해결 내용

1. 제작 시 인벤토리 아이템 소모

문제 발생: 아이템 제작 시 소모 아이템이 이상하게 소모되는 문제 발생

문제 진행: 아이템 소모 시에 남은 개수를 계속 빼는 방법으로 진행

문제 해결: 처음 1번만 실행을 했어서 발생한 문제라서 value 값을 계속 빼서 0 이하가 될 때까지 진행하여 문제를 해결 하였음

// 아이템 삭제
public void RemoveItem(string name, int value)
{
    int Add = value;
    for (int i = 0; i < slots.Length; i++)
    {
        if (slots[i].data == null)
        {
            continue;
        }

        // 아이템과 같은 이름 검색
        if (slots[i].data.itemName == name)
        {
            Add -= slots[i].slotQuantity;
            if (Add >= 0)
            {
                slots[i].Clear();
            }
            else
            {
                slots[i].slotQuantity = -Add;
            }

            if (Add <= 0)
            {
                break;
            }
        }
    }
    
}

설명:
1. 같은 아이템을 검색하여 같은 아이템인지 확인한다.
2. 같은 아이템일 시 슬롯의 개수를 value에서 뺀다.
3. value가 0이상이면 슬롯의 아이템 개수가 없는 것이므로 슬롯을 Clear()를 한다.
4. 아니라면 value값이 다 사라진 것이므로 남은 개수 값을 슬롯에 넣어준다.


정리

배운 내용

1. 없음

해결 못한 문제

1. 없음

문제점

1. 없음

profile
한국사람
post-custom-banner

0개의 댓글