using System.IO;
using UnityEngine;
[System.Serializable]
public class SaveData
{
public int version = 1;
public int coins;
public int level;
public float posX;
public float posY;
public float posZ;
}
public class SaveSystem : MonoBehaviour
{
private string path;
void Awake()
{
path = Path.Combine(
Application.persistentDataPath,
"save.json"
);
}
public void Save(
int coins,
int level,
Vector3 position)
{
SaveData data =
new SaveData();
data.coins = coins;
data.level = level;
data.posX = position.x;
data.posY = position.y;
data.posZ = position.z;
string json =
JsonUtility.ToJson(
data,
true
);
File.WriteAllText(
path,
json
);
}
public bool Load(
out SaveData data)
{
data = null;
if (!File.Exists(path))
{
return false;
}
try
{
string json =
File.ReadAllText(path);
data =
JsonUtility
.FromJson<SaveData>(
json
);
return data != null;
}
catch (System.Exception error)
{
Debug.LogError(
"Could not load save: " +
error.Message
);
return false;
}
}
}