2.5 KiB
2.5 KiB
전투 UI 개선 및 장비 변경 UX 강화
목표
전투 화면에서의 사용자 선택에 대한 정보를 명확히 제공하고, 인벤토리에서 장비 변경 시 사용자의 실수를 방지하며 변경 사항을 미리 확인할 수 있도록 UX를 개선합니다.
요청 사항
1. 전투 행동 UI 개선 (공격/방어 확률 및 예상 수치 명시)
현재 전투 화면에서 공격(Attack) 및 방어(Defend) 버튼을 누를 때 나타나는 리스크 수준(Safe, Normal, Risky)에 대한 성공 확률과 효율 정보뿐만 아니라, 실제 적용될 예상 수치를 함께 표시해주세요.
- 변경 전: 단순히 버튼만 존재하거나 텍스트로만 표시됨.
- 변경 후: 각 행동 선택지 옆이나 하단에 구체적인 확률과 예상 데미지/방어량을 명시합니다.
- Safe: 성공률 100%, 효율 50% (예: 데미지 5)
- Normal: 성공률 80%, 효율 100% (예: 데미지 10)
- Risky: 성공률 40%, 효율 200% (예: 데미지 20)
- 계산식:
Player Total ATK * Efficiency - 사용자가 선택하기 전에 자신이 입힐 데미지나 얻을 방어도가 얼마인지 직관적으로 알 수 있어야 합니다.
2. 장비 변경/해제 Preview 및 확인 절차 추가
인벤토리에서 장비를 **장착(교체)**하거나 **해제(Unequip)**할 때, 변경되는 스탯 정보를 미리 보여주고 사용자에게 최종 확인을 받는 팝업을 구현해주세요.
- 동작 흐름:
- 인벤토리의 아이템을 선택(장착 시도)하거나 장착된 슬롯을 선택(해제 시도).
- "장비 변경 확인" 팝업이 표시됨.
- 팝업 내용:
- 변경 전 스탯: 현재 공격력(ATK), 체력(HP/MaxHP), 방어력(Armor) 등
- 변경 후 스탯: 장비 교체/해제 시 예상되는 공격력, 체력, 방어력
- 스탯 변화량: 상승(초록색), 하락(빨간색) 등으로 시각적 차별화 권장
- Current HP 예측: 장비 변경 전후 HP 퍼센트 유지 로직 적용
- "변경하시겠습니까?" (또는 "해제하시겠습니까?") 문구와 함께 [확인] / [취소] 버튼 제공.
- [확인] 클릭 시 장비 교체 또는 해제 로직 실행.
관련 파일
lib/screens/battle_screen.dart: 전투 UI, 예상 데미지/방어량 계산 및 표시lib/screens/inventory_screen.dart: 인벤토리 UI, 장착 및 해제 시 스탯 프리뷰 팝업lib/providers/battle_provider.dart: 전투 로직 및 확률 데이터 참조