강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

moonfgg님의 프로필 이미지
moonfgg

작성한 질문수

유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지

유저 인벤토리 Pt.4 (InventoryUI, InfiniteScroll)

아이템 필터 기능

해결된 질문

작성

·

104

0

아이템 정렬에 추가적으로 필터기능을 넣고 싶습니다

 

현재 각 아이템의 id를 이용해 보여주고 싶은 아이템이 무엇인지 나타낼 수 있겠는데, 보여주지 않을 아이템을 어떻게 숨길지 모르겠습니다.

답변 1

1

BurningCarrot님의 프로필 이미지
BurningCarrot
지식공유자

안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.

 

지금으로써는 인벤토리 목록을 재생성해 주는 방법을 취하시는게 좋을 것 같습니다. 즉 인벤토리를 다시 세팅하면서 아래 코드의 주석처럼 보여주지 않아야 할 아이템을 예외 처리해 주는 방법입니다.

        InventoryScrollList.Clear();

        var userInventoryData = UserDataManager.Instance.GetUserData<UserInventoryData>();
        if(userInventoryData != null)
        {
            foreach (var itemData in userInventoryData.InventoryItemDataList)
            {
                if(userInventoryData.IsEquipped(itemData.SerialNumber))
                {
                    continue;
                }

                //보여주지 않아야 할 조건을 체크하여 continue 처리

                var itemSlotData = new InventoryItemSlotData();
                itemSlotData.SerialNumber = itemData.SerialNumber;
                itemSlotData.ItemId = itemData.ItemId;
                InventoryScrollList.InsertData(itemSlotData);
            }
        }

 

 

 

moonfgg님의 프로필 이미지
moonfgg

작성한 질문수

질문하기