读取缓存

This commit is contained in:
liuyu 2024-09-04 17:12:56 +08:00
parent 8fdc47d314
commit 1597d53826
4 changed files with 28 additions and 15 deletions

View File

@ -82,5 +82,9 @@ public abstract class ScoreBase : MonoBehaviour
/// <summary>
/// 记录现场环境中scoreBase的各项List缓存
/// </summary>
public abstract void SaveSceneBufferList();
public abstract string SaveSceneBufferList();
/// <summary>
/// 还原现场环境中scoreBase的各项List缓存
/// </summary>
public abstract void LoadSceneBufferList(string sceneInfo);
}

View File

@ -465,7 +465,7 @@ public class Score_1002 : ScoreBase
/// 保存场景中List缓存,用于断线重连
/// </summary>
/// <exception cref="System.NotImplementedException"></exception>
public override void SaveSceneBufferList()
public override string SaveSceneBufferList()
{
BufferTemp_1002 tmp = new BufferTemp_1002();
tmp.TestPen3list = TestPen3list;
@ -477,6 +477,21 @@ public class Score_1002 : ScoreBase
tmp.currentInstallTestJieXian = currentInstallTestJieXian;
string sceneInfo = JsonConvert.SerializeObject(tmp, Formatting.Indented);
Debug.Log("==场景信息:" + sceneInfo);
return sceneInfo;
//throw new System.NotImplementedException();
}
public override void LoadSceneBufferList(string sceneInfo)
{
BufferTemp_1002 tmp = new BufferTemp_1002();
tmp = JsonMapper.ToObject<BufferTemp_1002>(sceneInfo);
TestPen3list = tmp.TestPen3list;
InSwitchCloseYDList = tmp.InSwitchCloseYDList;
InSwitchOpenYDList = tmp.InSwitchOpenYDList;
currentunInstallJieXian = tmp.currentunInstallJieXian;
currentInstallJieXian = tmp.currentInstallJieXian;
installCover = tmp.installCover;
currentInstallTestJieXian = tmp.currentInstallTestJieXian;
//throw new System.NotImplementedException();
}
}

View File

@ -75,4 +75,9 @@ public class TB_UserExamStat
/// 当前场景内的所有可触发物品
/// </summary>
public List<ReconnectTriggerInfo> currentSceneTriggers = new List<ReconnectTriggerInfo>();
/// <summary>
/// 场景内所有缓存信息,不定数据格式
/// </summary>
public string currentSceneOtherInfo = "";
}

View File

@ -61,6 +61,8 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
sub.isDone = item.Value.isDone;
UserExamStat.allSubScore.Add( sub );
};
//保存场景内独有信息
UserExamStat.currentSceneOtherInfo = scoreBase.SaveSceneBufferList();
}
/*UserExamStat.processId = ProcessManager.Instance.processId;
UserExamStat.subProcessId = ProcessManager.Instance.subProcessId;
@ -123,15 +125,6 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
File.WriteAllText(localStatPath, UserJson);
}
/// <summary>
/// 记录场景中的信息
/// </summary>
public void RealtimeSceneWriter()
{
ScoreBase scoreBase = FindAnyObjectByType<ScoreBase>();
scoreBase.SaveSceneBufferList();
}
/// <summary>
/// 读取用户状态(先使用同步,后用异步)
/// </summary>
@ -280,10 +273,6 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown(KeyCode.U))
{
RealtimeSceneWriter();
}
if (Input.GetKeyDown(KeyCode.T))//测试用,按T读取状态保存
{
RealtimeStatWriter();