로드 흐름
SaveGame 복원은 검증 뒤 적용한다
저장 파일을 최신 구조라고 가정하지 말고 슬롯, 캐스팅, 버전, 기본값,
반영 시점을 순서대로 좁힌다.
판정 축
Slot · Version · Fallback
실패를 크래시가 아니라 새 데이터나 백업 슬롯으로 연결한다.
| 순서 | 확인 | 실패 분기 | 반영 조건 |
|---|---|---|---|
| 01 슬롯파일 존재 확인 | DoesSaveGameExist로 저장 슬롯을 찾는다. | 없으면 새 SaveGame 객체를 만든다. | 아직 게임 상태에는 쓰지 않는다. |
| 02 로드객체 변환 | LoadGameFromSlot 결과를 원하는 클래스로 캐스팅한다. | 백업 슬롯 또는 기본 데이터로 이동한다. | 유효한 객체만 다음 검증으로 넘긴다. |
| 03 버전구조 차이 | SaveVersion으로 예전 필드와 현재 구조를 비교한다. | 마이그레이션 규칙을 적용한다. | 누락 필드를 채운 뒤 계속한다. |
| 04 기본값범위 보정 | 빈 배열, 범위 밖 수치, 사라진 옵션을 찾는다. | 안전한 기본값으로 치환한다. | 검증된 값만 저장 구조에 남긴다. |
| 05 적용게임 시스템 연결 | 캐릭터, 인벤토리, 설정의 준비 시점을 맞춘다. | 레벨 로드 전후 적용을 분리한다. | 준비된 시스템부터 순차 적용한다. |