-
1. 파일이 존재하지 않으면 JsonMake()함수로 만들기
public void JsonMake() { SaveData saveData = new SaveData(); saveData.isVisit[0] = true; for (int i = 1; i < 21; i++) { saveData.isVisit[i] = false; } for (int i = 0; i < 9; i++) { saveData.ending[i] = false; } GameManager.I.continueScene = "Scene1"; saveData.continueScene = GameManager.I.continueScene; string json = JsonUtility.ToJson(saveData, true); File.WriteAllText(path, json); }
2. 존재하면 Load
public void JsonLoad() { SaveData saveData = new SaveData(); if (!File.Exists(path)) { JsonMake(); } else { string loadJson = File.ReadAllText(path); saveData = JsonUtility.FromJson<SaveData>(loadJson); if (saveData != null) { for (int i = 0; i < saveData.isVisit.Length; i++) { GameManager.I.isVisit[i] = saveData.isVisit[i]; } for (int i = 0; i < saveData.ending.Length; i++) { GameManager.I.ending[i] = saveData.ending[i]; } GameManager.I.continueScene = saveData.continueScene; } } }
3. 게임 도중 사용자가 뒤로가기버튼을 눌러 Main으로 돌아갈 때 JsonSave()호출해 저장
public void JsonSave() { SaveData saveData = new SaveData(); for (int i = 0; i < 21; i++) { saveData.isVisit[i] = GameManager.I.isVisit[i]; } for (int i = 0; i < 9; i++) { saveData.ending[i] = GameManager.I.ending[i]; } saveData.continueScene = GameManager.I.continueScene; string json = JsonUtility.ToJson(saveData, true); File.WriteAllText(path, json); }
'[Unity] Projects & Study > Loop - Interactive Movie' 카테고리의 다른 글
[Web타겟] 빌드 용량 줄이기(재설계) (0) 2024.08.27 [Web타겟] C# 스크립트가 WebGL을 통해 웹 브라우저에서 실행되는 과정 (0) 2024.08.22 [Steam 출시] Steampipe 빌드 (+ 잘못된 앱 구성 / 실행파일 누락) (0) 2023.03.31 [Unity] fade out 퀄리티 개선 (0) 2023.02.05 [Unity]Interactive Movie Development (0) 2022.09.19