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