game/prompt/61_system_stabilization_sum...

2.1 KiB

61. System Stabilization & Refactoring (Summary)

1. 개요

이 문서는 프로젝트 안정화 및 리팩토링 과정에서 진행된 61번부터 76번까지의 작업 내용을 요약 및 통합한 것입니다.

2. 주요 변경 사항

A. 구조 개선 및 리팩토링

  • i18n 적용 (Soft i18n): AppStrings.dart를 도입하여 UI 텍스트를 중앙화했습니다.
  • 설정 시스템 (SettingsProvider): 적 애니메이션 On/Off 등 게임 설정을 관리하고 영구 저장하는 시스템을 구축했습니다.
  • 전투 로직 동기화 (UI-Driven Impact):
    • 기존 Future.delayed 기반의 불안정한 타이밍 로직을 제거했습니다.
    • UI(BattleScreen)의 애니메이션 타격 시점(onImpact)에 BattleProvider의 데미지 로직(handleImpact)을 호출하는 구조로 변경하여 시각 효과와 데이터 처리를 완벽하게 동기화했습니다.
  • 적 Intent 생성 지연: 적의 공격 애니메이션이 완전히 끝난 후 다음 행동을 결정하도록 하여, 시각적 혼란(공격 중 방어 이펙트 출력 등)을 방지했습니다.

B. 버그 수정

  • Null Safety Crash: 공격 실패 시 EffectEvent의 null 값을 참조하여 앱이 종료되는 문제를 수정했습니다.
  • 리워드 시스템:
    • 리워드 팝업이 깜빡이거나 이전 데이터를 보여주는 문제 수정.
    • 승리 시 리워드가 중복 생성(두 번 호출)되는 문제 수정.
  • 아이템 이름: LootGenerator의 문자열 보간 오류로 인해 "Instance of..."가 출력되던 문제를 수정했습니다.
  • 애니메이션 중복: 적 캐릭터 카드에 애니메이션 위젯이 중복 적용되어 발생하던 이상 현상을 수정했습니다.

C. 기능 추가

  • 적 공격 애니메이션: 플레이어와 마찬가지로 적도 공격 시 대상을 향해 돌진하는 애니메이션을 추가했습니다.

이 작업들을 통해 게임의 안정성, 코드의 유지보수성, 그리고 플레이어의 시각적 경험이 크게 향상되었습니다.