Inventory Widget
RefreshInventoryUI 재구성 지도
인벤토리 배열을 화면 슬롯으로 다시 그릴 때는 기존 자식을 지우고, 배열 순서와 인덱스로 슬롯 위치를 결정합니다.
입력
CurrentInventory: F_ItemData 배열
대상
InventoryGrid 변수, WBP_InventorySlot
좌표
Column = Index % 칸수, Row = Index / 칸수
갱신 순서
01
Grid 비우기
Clear Children으로 이전 슬롯을 먼저 제거합니다.
02
배열 순회
For Each Loop에서 Array Element와 Index를 함께 사용합니다.
03
슬롯 생성
Create Widget 후 WBP_InventorySlot으로 캐스팅합니다.
04
정보 주입
UpdateSlotInfo에 현재 아이템 데이터를 넘깁니다.
05
Grid 배치
Add Child to Grid에 Row와 Column을 계산해 연결합니다.
노드별 점검 기준
구간
확인할 값
흔한 실수
완료 신호
초기화
InventoryGrid가 변수로 노출됨
기존 슬롯을 지우지 않아 중복 표시
새로 열 때 슬롯 수가 배열 길이와 같음
데이터
Array Element가 슬롯 정보로 전달됨
Return Value를 캐스팅하지 않고 함수 호출
이름, 아이콘, 수량이 같은 행에서 갱신됨
배치
Index로 Row와 Column을 산출함
모든 슬롯이 같은 칸에 겹침
5칸 기준 다음 줄로 자연스럽게 넘어감
좋음
그리기 책임 분리
플레이어 컨트롤러는 열고 닫기, 위젯은 슬롯 갱신만 담당합니다.
주의
반복 재생성 비용
아이템 수가 많으면 슬롯 재사용이나 풀링을 별도로 검토합니다.
검증
빈 배열 처리
아이템이 없을 때도 이전 슬롯이 남지 않는지 먼저 확인합니다.