添加场景、对应场景代码
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using UnityEngine;
|
||||
|
||||
namespace GameFramework
|
||||
{
|
||||
/// <summary>
|
||||
/// 静态 JSON 存档系统。读写 Application.persistentDataPath 下的文件。
|
||||
/// 排行榜等数据通过它持久化。
|
||||
/// </summary>
|
||||
public static class SaveSystem
|
||||
{
|
||||
public static void Save(string saveFileName, object data)
|
||||
{
|
||||
var json = JsonUtility.ToJson(data);
|
||||
var path = Path.Combine(Application.persistentDataPath, saveFileName);
|
||||
|
||||
try
|
||||
{
|
||||
File.WriteAllText(path, json);
|
||||
#if UNITY_EDITOR
|
||||
Debug.Log($"[SaveSystem] 已保存到 {path}");
|
||||
#endif
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Debug.LogError($"[SaveSystem] 保存失败 {path}\n{exception}");
|
||||
}
|
||||
}
|
||||
|
||||
public static T Load<T>(string saveFileName)
|
||||
{
|
||||
var path = Path.Combine(Application.persistentDataPath, saveFileName);
|
||||
try
|
||||
{
|
||||
var json = File.ReadAllText(path);
|
||||
return JsonUtility.FromJson<T>(json);
|
||||
}
|
||||
catch (Exception exception)
|
||||
{
|
||||
Debug.LogError($"[SaveSystem] 读取失败 {path}\n{exception}");
|
||||
return default;
|
||||
}
|
||||
}
|
||||
|
||||
public static void DeleteSaveFile(string saveFileName)
|
||||
{
|
||||
var path = Path.Combine(Application.persistentDataPath, saveFileName);
|
||||
try { File.Delete(path); }
|
||||
catch (Exception exception) { Debug.LogError($"[SaveSystem] 删除失败 {path}\n{exception}"); }
|
||||
}
|
||||
|
||||
public static bool SaveFileExists(string saveFileName)
|
||||
{
|
||||
return File.Exists(Path.Combine(Application.persistentDataPath, saveFileName));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user