Collect
위치, HP, 인벤토리처럼 다시 만들 값만 고른다.
저장은 객체 자체를 보관하는 일이 아니라 복원에 필요한 값만 추출해 슬롯과 월드 사이를 왕복시키는 흐름이다.
위치, HP, 인벤토리처럼 다시 만들 값만 고른다.
SaveGame 객체의 원시 값과 작은 구조체로 복사한다.
Slot Name과 User Index를 키로 디스크에 기록한다.
슬롯을 읽고 저장 버전에 맞는 데이터인지 확인한다.
캐릭터와 월드 액터를 찾은 뒤 값을 다시 적용한다.
Actor 전체가 아니라 복원 가능한 데이터만 담는다.
구조 변경에 대비해 SaveVersion과 변환 규칙을 둔다.
슬롯 없음, 읽기 실패, 적용 실패를 서로 분리한다.