2.2 KiB
2.2 KiB
45. Config & UI 전면 리팩토링 (Config & UI Refactoring)
1. 목표 (Goal)
- 프로젝트 전반에 산재된 하드코딩된 값(정적 상수, 색상, 폰트)을 설정 파일(
GameConfig,ThemeConfig)로 통합 관리합니다. - 모든 화면(
MainMenu,Battle,Inventory,Settings,CharacterSelection)의 UI 스타일을 통일합니다.
2. 구현 상세 (Implementation Details)
A. 게임 밸런스 설정 (GameConfig)
- 파일:
lib/game/config/game_config.dart - 내용:
- 인벤토리/경제: 최대 크기, 시작 골드, 상점 비용 및 리롤 등.
- 스테이지: 구간별 설정, 티어 분포.
- 전투: 회복율, 데미지 배율, 방어도 감소, 애니메이션 딜레이 등.
- 시스템: 저장 키 (
saveKey).
- 적용:
BattleProvider,Entity,SaveManager의 매직 넘버 제거.
B. 테마 및 스타일 설정 (ThemeConfig)
- 파일:
lib/game/config/theme_config.dart - 색상 (Colors):
- 메인 메뉴(배경, 버튼), 전투 화면(배경, UI, 리스크), 상점/휴식 화면, 아이템 등급 등 모든 색상 정의.
- 폰트 (Fonts):
- Size:
Tiny(8.0) ~Huge(48.0) 등 10단계 정의. - Weight:
Normal,Bold정의.
- Size:
C. 화면별 리팩토링 (Screen Refactoring)
lib/screens/및lib/widgets/전체:BattleScreen& Widgets: 로그, 리스크 다이얼로그, 캐릭터 카드, 게임 오버, 보상 팝업 등.MainMenuScreen: 타이틀, 버튼, 배경.InventoryScreen: 슬롯, 스탯 텍스트, 팝업.CharacterSelectionScreen: 카드, 텍스트 스타일.SettingsScreen: 텍스트, 버튼.MainWrapper: 공통 배경색 적용.
3. 결과 (Result)
- 중앙 관리: 게임의 수치 밸런스와 디자인 테마를 각각
GameConfig와ThemeConfig에서 손쉽게 수정 가능해졌습니다. - 일관성: 모든 화면에서 통일된 색상 팔레트와 폰트 스케일을 사용하여 UI 완성도가 향상되었습니다.
- 유지보수: 하드코딩된 값들이 제거되어 코드 가독성 및 유지보수성이 대폭 개선되었습니다.