refactor(core): 진행 루프, 저장 데이터, 저장 관리자 개선

- ProgressLoop 로직 정리
- SaveData 모델 확장
- SaveManager 개선
This commit is contained in:
JiWoong Sul
2026-01-08 16:05:08 +09:00
parent 56b568a832
commit 606d052e2c
3 changed files with 18 additions and 9 deletions

View File

@@ -16,9 +16,10 @@ class GameSave {
required this.skillBook,
required this.progress,
required this.queue,
this.cheatsEnabled = false,
});
factory GameSave.fromState(GameState state) {
factory GameSave.fromState(GameState state, {bool cheatsEnabled = false}) {
return GameSave(
version: kSaveVersion,
rngState: state.rng.state,
@@ -29,6 +30,7 @@ class GameSave {
skillBook: state.skillBook,
progress: state.progress,
queue: state.queue,
cheatsEnabled: cheatsEnabled,
);
}
@@ -41,10 +43,12 @@ class GameSave {
final SkillBook skillBook;
final ProgressState progress;
final QueueState queue;
final bool cheatsEnabled;
Map<String, dynamic> toJson() {
return {
'version': version,
'cheatsEnabled': cheatsEnabled,
'rng': rngState,
'traits': {
'name': traits.name,
@@ -144,6 +148,7 @@ class GameSave {
return GameSave(
version: json['version'] as int? ?? kSaveVersion,
cheatsEnabled: json['cheatsEnabled'] as bool? ?? false,
rngState: json['rng'] as int? ?? 0,
traits: Traits(
name: traitsJson['name'] as String? ?? '',