1.4 KiB
1.4 KiB
58. Refactor Item Creation Logic
1. 목표 (Goal)
ItemTemplate클래스 내부에 강하게 결합된 아이템 생성 및 접두사(Prefix) 적용 로직을 분리합니다.LootGenerator클래스를 생성하여 전리품 생성 및 옵션 부여 로직을 중앙화합니다.
2. 구현 계획 (Implementation Plan)
LootGenerator생성 (lib/game/logic/loot_generator.dart):ItemTemplate을 입력받아 실제Item객체를 생성하는 static 메서드generate를 구현합니다.- 기존
createItem에 있던 Rarity별 접두사 처리, 스탯 보정, 이름 변경 로직을 이곳으로 이동합니다.
ItemTemplate수정 (lib/game/data/item_table.dart):createItem메서드가LootGenerator를 호출하도록 변경하거나, 해당 메서드를 제거하고 호출부(BattleProvider,EnemyTemplate)에서LootGenerator를 직접 사용하도록 수정합니다.- (호환성을 위해
createItem은LootGenerator를 호출하는 래퍼로 남겨두는 것을 권장)
3. 기대 효과 (Expected Outcome)
ItemTemplate은 순수한 데이터 정의(DTO) 역할에 집중.- 아이템 생성 알고리즘(접두사, 랜덤 스탯 등)이 변경되더라도 데이터 클래스에는 영향 없음.
- 추후 '제작(Crafting)' 시스템이나 '상점 전용 생성' 등 다양한 생성 규칙 추가 시
LootGenerator확장 용이.