인프런 커뮤니티 질문&답변
인벤토리 제작
작성
·
658
0

이 강의를 다 듣고 월드에 있는 아이템을 먹으면 인벤토리 창에 추가할려는 기능을 구현하고 있습니다.
근데 제가 아이템을 prefab으로 저장하고 그 해당 prefab를 드래그앤드롭해서 월드에 위치시켜줬습니다.
월드에서 플레이어가 아이템을 먹으면 플레이어가 가지고 있는 스크립트 list에 추가한 후에 월드에 있는 아이템은 사라지도록 Destory를 했습니다.
일단 리스트에 size가 늘어나는거 보면 들어오기는 하는데.. Destory를 해서 그런지 해당 리스트에 담긴것이 없어지면서 missing으로 나옵니다ㅠㅠ. 혹시 방법이 있을까요??..
답변 1
0
Rookiss
지식공유자
실제 인게임에 뿌려준 GameObject를 이용해
Inventory에 저장했다는 것으로 이해가 되는데,
그렇게 하기 보다는 Inventory에 저장할 때 별도의 정보를 파주는 것이 좋습니다.
(이유는 이미 스스로 증명을 하셨으니 생략합니다)
보통 itemId와 itemCount 정도만 저장하고,
이 itemId를 이용해 데이터시트에서 상세 정보 (각종 옵션과 sprite 이미지 등)
정말 꼭 GameObject를 넣어주고 싶으시다면
Destroy하지 않고 뭐 안보이게 잠시 visibility만 꺼주는 등으로 우회할 수는 있겠지만,
그다지 좋아보이진 않네요.





