# 47. 인벤토리 가득 참 처리 (Inventory Full Handling) ## 1. 목표 (Goal) - 인벤토리가 가득 찬 상태(`maxInventorySize`)에서 보상 아이템 획득을 시도할 경우, 게임이 진행되지 않고 에러 메시지를 표시합니다. - 보상 팝업이 닫히지 않도록 하여 사용자가 다른 행동(스킵 또는 인벤토리 관리)을 할 수 있게 합니다. ## 2. 구현 상세 (Implementation Details) ### `BattleProvider` 수정 - **`selectReward` 메서드 반환값 변경:** `void` -> `bool`. - **성공 (아이템 획득 또는 스킵):** `true` 반환. 스테이지 클리어 로직 진행. - **실패 (인벤토리 가득 참):** `false` 반환. 스테이지 클리어 로직 중단. 로그만 남김. ### `BattleScreen` 수정 - **보상 선택 로직:** - `battleProvider.selectReward(item)`의 반환값을 확인. - `false`일 경우 `ScaffoldMessenger`를 사용하여 "Inventory is full! Cannot take item." 스낵바 출력. ## 3. 결과 (Result) - 인벤토리가 가득 찼을 때 실수로 아이템이 버려지거나 다음 스테이지로 강제 진행되는 문제를 방지했습니다. - 사용자에게 명확한 피드백(에러 메시지)을 제공합니다.