# 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)
- 인벤토리가 가득 찼을 때 실수로 아이템이 버려지거나 다음 스테이지로 강제 진행되는 문제를 방지했습니다.
- 사용자에게 명확한 피드백(에러 메시지)을 제공합니다.
