refactor(core): 진행 서비스 및 모델 개선

- ProgressService 로직 개선
- GameState 상태 관리 확장
- MonsterCombatStats 속성 추가
- game_text_l10n 번역 추가
This commit is contained in:
JiWoong Sul
2026-01-02 15:30:09 +09:00
parent c9f0e35914
commit 2ef9807cbe
4 changed files with 165 additions and 18 deletions

View File

@@ -727,6 +727,18 @@ class QuestMonsterInfo {
static const empty = QuestMonsterInfo(monsterData: '', monsterIndex: -1);
}
/// 최종 보스 상태 (Final Boss State)
enum FinalBossState {
/// 최종 보스 등장 전
notSpawned,
/// 최종 보스 전투 중
fighting,
/// 최종 보스 처치 완료
defeated,
}
class ProgressState {
const ProgressState({
required this.task,
@@ -743,6 +755,7 @@ class ProgressState {
this.currentCombat,
this.monstersKilled = 0,
this.deathCount = 0,
this.finalBossState = FinalBossState.notSpawned,
});
final ProgressBarState task;
@@ -772,6 +785,9 @@ class ProgressState {
/// 사망 횟수
final int deathCount;
/// 최종 보스 상태 (Act V)
final FinalBossState finalBossState;
factory ProgressState.empty() => ProgressState(
task: ProgressBarState.empty(),
quest: ProgressBarState.empty(),
@@ -802,6 +818,7 @@ class ProgressState {
CombatState? currentCombat,
int? monstersKilled,
int? deathCount,
FinalBossState? finalBossState,
}) {
return ProgressState(
task: task ?? this.task,
@@ -818,6 +835,7 @@ class ProgressState {
currentCombat: currentCombat ?? this.currentCombat,
monstersKilled: monstersKilled ?? this.monstersKilled,
deathCount: deathCount ?? this.deathCount,
finalBossState: finalBossState ?? this.finalBossState,
);
}
}