강의

멘토링

커뮤니티

Inflearn Community Q&A

moonfgg's profile image
moonfgg

asked

Unity System Programming Pt.1 - All-in-One Package of Core Systems for Commercial Game Implementation

User Inventory Pt.4 (InventoryUI, InfiniteScroll)

아이템 필터 기능

Resolved

Written on

·

133

0

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

 

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

C#unity객체지향

Answer 1

1

burningcarrot님의 프로필 이미지
burningcarrot
Instructor

안녕하세요! 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's profile image
moonfgg

asked

Ask a question