1.4 KiB
1.4 KiB
플레이어 데이터 중앙화 (Centralize Player Data)
목표
캐릭터 선택 화면과 전투 시스템(BattleProvider)에서 사용하는 플레이어 스탯이 하드코딩되어 불일치하는 문제를 해결하기 위해, 플레이어 데이터를 JSON 파일로 중앙화하여 관리합니다.
주요 변경 사항
1. 데이터 구조 추가
assets/data/players.json: 플레이어 템플릿 데이터를 정의했습니다.[ { "id": "warrior", "name": "Warrior", "description": "A balanced fighter...", "baseHp": 50, "baseAtk": 5, "baseDefense": 5, ... } ]lib/game/data/player_table.dart:players.json을 로드하고 파싱하는PlayerTable클래스를 구현했습니다.
2. 게임 로직 업데이트
lib/main.dart: 앱 시작 시PlayerTable.load()를 호출하여 데이터를 메모리에 적재합니다.lib/screens/character_selection_screen.dart: 하드코딩된 텍스트 대신PlayerTable.get("warrior")를 사용하여 UI를 렌더링합니다.lib/providers/battle_provider.dart: 전투 초기화(initializeBattle) 시PlayerTable에서 캐릭터 정보를 가져와 생성합니다.
결과
이제 players.json 파일만 수정하면 게임 내 모든 곳(선택 화면, 전투 시작 스탯 등)에 일관되게 반영됩니다.