Files
YooAsset/Assets/YooAsset/Runtime/PatchSystem/PatchCache.cs

55 lines
1.5 KiB
C#
Raw Normal View History

2022-03-01 10:44:12 +08:00
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace YooAsset
{
[Serializable]
internal sealed class PatchCache
{
/// <summary>
/// 缓存的APP内置版本
/// </summary>
public string CacheAppVersion = string.Empty;
/// <summary>
/// 读取缓存文件
/// 注意:如果文件不存在则创建新的缓存文件
/// </summary>
public static PatchCache LoadCache()
{
2022-03-09 23:57:04 +08:00
if (SandboxHelper.CheckSandboxCacheFileExist())
{
2022-03-09 23:57:04 +08:00
string filePath = SandboxHelper.GetSandboxCacheFilePath();
2022-03-01 10:44:12 +08:00
string jsonData = FileUtility.ReadFile(filePath);
var patchCache = JsonUtility.FromJson<PatchCache>(jsonData);
YooLogger.Log($"Load cache file : {patchCache.CacheAppVersion}");
return patchCache;
2022-03-01 10:44:12 +08:00
}
else
{
YooLogger.Log($"Create cache file : {Application.version}");
2022-03-01 10:44:12 +08:00
PatchCache cache = new PatchCache();
cache.CacheAppVersion = Application.version;
2022-03-09 23:57:04 +08:00
string filePath = SandboxHelper.GetSandboxCacheFilePath();
2022-03-01 10:44:12 +08:00
string jsonData = JsonUtility.ToJson(cache);
FileUtility.CreateFile(filePath, jsonData);
return cache;
}
}
/// <summary>
/// 更新缓存文件
/// </summary>
public static void UpdateCache()
{
2022-03-09 21:53:01 +08:00
YooLogger.Log($"Update patch cache to disk : {Application.version}");
2022-03-01 10:44:12 +08:00
PatchCache cache = new PatchCache();
cache.CacheAppVersion = Application.version;
2022-03-09 23:57:04 +08:00
string filePath = SandboxHelper.GetSandboxCacheFilePath();
2022-03-01 10:44:12 +08:00
string jsonData = JsonUtility.ToJson(cache);
FileUtility.CreateFile(filePath, jsonData);
}
}
}