game/prompt/45_config_refactoring.md

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 정의.

C. 화면별 리팩토링 (Screen Refactoring)

  • lib/screens/lib/widgets/ 전체:
    • BattleScreen & Widgets: 로그, 리스크 다이얼로그, 캐릭터 카드, 게임 오버, 보상 팝업 등.
    • MainMenuScreen: 타이틀, 버튼, 배경.
    • InventoryScreen: 슬롯, 스탯 텍스트, 팝업.
    • CharacterSelectionScreen: 카드, 텍스트 스타일.
    • SettingsScreen: 텍스트, 버튼.
    • MainWrapper: 공통 배경색 적용.

3. 결과 (Result)

  • 중앙 관리: 게임의 수치 밸런스와 디자인 테마를 각각 GameConfigThemeConfig에서 손쉽게 수정 가능해졌습니다.
  • 일관성: 모든 화면에서 통일된 색상 팔레트와 폰트 스케일을 사용하여 UI 완성도가 향상되었습니다.
  • 유지보수: 하드코딩된 값들이 제거되어 코드 가독성 및 유지보수성이 대폭 개선되었습니다.