1.6 KiB
1.6 KiB
배틀 화면 위젯 리팩토링
목표
UI 컴포넌트를 별도의 위젯으로 추출하여 BattleScreen의 코드 유지보수성, 가독성 및 구조를 개선합니다.
변경 사항
-
디렉토리 구조:
lib/widgets/battle/디렉토리를 생성했습니다.
-
추출된 위젯:
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를 포함합니다.
-
BattleScreen 업데이트:
- 추출된 위젯을 임포트하고 사용하도록
lib/screens/battle_screen.dart를 리팩토링했습니다. - 인라인 위젯 빌드 메서드(
_buildCharacterStatus,_buildShopUI,_buildRestUI등)와 내부 클래스(_FloatingDamageText등)를 제거했습니다.
- 추출된 위젯을 임포트하고 사용하도록
이점
- 복잡도 감소:
BattleScreen은 이제 레이아웃과 상태 관리에 집중합니다. - 재사용성: 위젯은 필요에 따라 앱의 다른 부분에서 재사용할 수 있습니다.
- 유지보수성: 특정 UI 요소를 찾고 수정하기가 더 쉬워졌습니다.