세이브 데이터가 필요한 순간에 사용가능
using System;
using UnityEngine;
[Serializable]
public class PlayerData
{
public string name;
public int level;
public int gold;
}
using UnityEngine;
using System.IO;
public class SaveLoadManager : MonoBehaviour
{
PlayerData data;
string fileName;
string savePath;
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
data = new PlayerData();
data.name = "이름";
data.level = 1;
data.gold = 100;
fileName = "PlayerData.json";
//기본 저장 경로 -> 플랫폼 상관없이, 기본 저장 경로를 저장해준다.
savePath = Path.Combine(Application.persistentDataPath, fileName);
//Save();
Load();
}
void Save()
{
string json = JsonUtility.ToJson(data, true);
File.WriteAllText(savePath, json);
Debug.Log(savePath);
}
void Load()
{
if (File.Exists(savePath) == false)
{
Debug.Log("세이브 데이터가 없습니다.");
}
string json = File.ReadAllText(savePath);
PlayerData loadData = JsonUtility.FromJson<PlayerData>(json);
Debug.Log(loadData.name);
Debug.Log(loadData.level);
Debug.Log(loadData.gold);
}
}
데이터 파일이 json으로 생기도록 할 수 있음.
무조건 덮어쓰기로 파일이 생기므로 조심해야함.