# 배틀 화면 위젯 리팩토링 ## 목표 UI 컴포넌트를 별도의 위젯으로 추출하여 `BattleScreen`의 코드 유지보수성, 가독성 및 구조를 개선합니다. ## 변경 사항 1. **디렉토리 구조:** - `lib/widgets/battle/` 디렉토리를 생성했습니다. 2. **추출된 위젯:** - `CharacterStatusCard` (`lib/widgets/battle/character_status_card.dart`): 캐릭터 스탯(HP, 방어도, 공격력, 방어력), 체력 바, 상태 효과 및 의도를 표시합니다. - `BattleLogOverlay` (`lib/widgets/battle/battle_log_overlay.dart`): 스크롤 가능한 배틀 로그 목록을 표시합니다. - `FloatingBattleTexts` (`lib/widgets/battle/floating_battle_texts.dart`): 애니메이션 시각 효과를 위한 `FloatingDamageText`, `FloatingEffect`, `FloatingFeedbackText`를 포함합니다. - `StageUI` (`lib/widgets/battle/stage_ui.dart`): 비전투 스테이지를 위한 `ShopUI`와 `RestUI`를 포함합니다. 3. **BattleScreen 업데이트:** - 추출된 위젯을 임포트하고 사용하도록 `lib/screens/battle_screen.dart`를 리팩토링했습니다. - 인라인 위젯 빌드 메서드(`_buildCharacterStatus`, `_buildShopUI`, `_buildRestUI` 등)와 내부 클래스(`_FloatingDamageText` 등)를 제거했습니다. ## 이점 - **복잡도 감소:** `BattleScreen`은 이제 레이아웃과 상태 관리에 집중합니다. - **재사용성:** 위젯은 필요에 따라 앱의 다른 부분에서 재사용할 수 있습니다. - **유지보수성:** 특정 UI 요소를 찾고 수정하기가 더 쉬워졌습니다.