update
- refactoring conifg
This commit is contained in:
@@ -115,6 +115,7 @@
|
||||
|
||||
- **Prompt Driven Development:** `prompt/XX_description.md` 유지.
|
||||
- **Language:** **모든 프롬프트 파일(prompt/XX_...)은 반드시 한국어(Korean)로 작성해야 합니다.**
|
||||
- **Config Management:** 하드코딩되는 값들은 `config` 폴더 내 파일들(`lib/game/config/` 등)에서 통합 관리할 수 있도록 작성해야 합니다.
|
||||
- **State Management:** `Provider` + `Stream` (이벤트성 데이터).
|
||||
- **Data:** JSON 기반.
|
||||
|
||||
@@ -158,3 +159,4 @@
|
||||
- [x] 42_item_rarity_and_tier.md
|
||||
- [x] 43_shop_system.md
|
||||
- [x] 44_settings_and_local_storage.md
|
||||
- [x] 45_config_refactoring.md
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# 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` 정의.
|
||||
|
||||
### C. 화면별 리팩토링 (Screen Refactoring)
|
||||
- **`lib/screens/` 및 `lib/widgets/` 전체:**
|
||||
- **`BattleScreen` & Widgets:** 로그, 리스크 다이얼로그, 캐릭터 카드, 게임 오버, 보상 팝업 등.
|
||||
- **`MainMenuScreen`:** 타이틀, 버튼, 배경.
|
||||
- **`InventoryScreen`:** 슬롯, 스탯 텍스트, 팝업.
|
||||
- **`CharacterSelectionScreen`:** 카드, 텍스트 스타일.
|
||||
- **`SettingsScreen`:** 텍스트, 버튼.
|
||||
- **`MainWrapper`:** 공통 배경색 적용.
|
||||
|
||||
## 3. 결과 (Result)
|
||||
- **중앙 관리:** 게임의 수치 밸런스와 디자인 테마를 각각 `GameConfig`와 `ThemeConfig`에서 손쉽게 수정 가능해졌습니다.
|
||||
- **일관성:** 모든 화면에서 통일된 색상 팔레트와 폰트 스케일을 사용하여 UI 완성도가 향상되었습니다.
|
||||
- **유지보수:** 하드코딩된 값들이 제거되어 코드 가독성 및 유지보수성이 대폭 개선되었습니다.
|
||||
Reference in New Issue
Block a user