오늘은 팀프로젝트의 대략적인 프로토타입을 한번 테스트해보고
버그나 연결이 어색한 점을 찾아서 다듬었다.
버그의 탑
프로토타입 버전에서 이런 문제는 어쩔 수가 없다.
개인 과제에 이어서 다시 만들어보기로 했다.
이번에 쓴 방식은 Unity에서 자주 쓰던 라이브러리는 Newtonsoft.Json 라이브러리이다.
이전에 썼던 내장 라이브러리인 System.Text.Json과 차이점이 있다.
위처럼 [JsonProperty] 라는 애트리뷰트를 프로퍼티에 달아주는 것으로 해당 값을 직렬화할 수 있다.
다른 곳에서 [Serializable] 애트리뷰트를 붙여서 객체를 직렬화 가능하게 하는 방식과도 유사할 것이다......(잠만, 왜 이 방식을 생각 못했지? 이 부분은 나중에 다시 정리해서 작성해야겠다.)
일단 위 라이브러리의 방식으로 직렬화해 주고 저장해주면
void Save()
{
string data = JsonConvert.SerializeObject(_gameData, Formatting.Indented);
File.WriteAllText(PATH, data);
}
성공적으로 저장된 모습이다.
string data = File.ReadAllText(PATH);
_gameData = JsonConvert.DeserializeObject<GameData>(data);
로드할 때는 위와 같이 제네릭 란에 받고자하는 자료형을 넣어주면 된다.
#내일배움캠프 #스파르타내일배움캠프 #스파르타내일배움캠프TIL