내일배움캠프 15일차 TIL : 버그 수정과 퀘스트

김정환·2024년 10월 2일
0
post-thumbnail

키워드

  • 버그 수정
  • 데이터 저장 및 불러오기

버그 수정

오늘은 팀프로젝트의 대략적인 프로토타입을 한번 테스트해보고
버그나 연결이 어색한 점을 찾아서 다듬었다.

버그의 탑
프로토타입 버전에서 이런 문제는 어쩔 수가 없다.

데이터 저장 및 불러오기

개인 과제에 이어서 다시 만들어보기로 했다.
이번에 쓴 방식은 Unity에서 자주 쓰던 라이브러리는 Newtonsoft.Json 라이브러리이다.
이전에 썼던 내장 라이브러리인 System.Text.Json과 차이점이 있다.

자료 접근성 처리

  • Newtonsoft.Json는 내장 라이브러리와 달리 protected로 제한된 프로퍼티에도 값을 넣을 수 있다.

위처럼 [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

profile
사파 개발자

0개의 댓글