Merge branch 'main' of http://5a4e4c01.r5.cpolar.top/WangWeiZhi/YanCheng_Metrology
This commit is contained in:
commit
2273c14be7
|
@ -0,0 +1,27 @@
|
||||||
|
/// <summary>
|
||||||
|
/// 保存用户考试状态
|
||||||
|
/// </summary>
|
||||||
|
|
||||||
|
public class TB_UserExamStat
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
///当前方案ID
|
||||||
|
/// </summary>
|
||||||
|
public int schemeID = -1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前流程Id
|
||||||
|
/// </summary>
|
||||||
|
public int processId = -1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前子流程Id
|
||||||
|
/// </summary>
|
||||||
|
public int subProcessId = -1;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前子流程步骤Id
|
||||||
|
/// </summary>
|
||||||
|
public int subProcessStepId = -1;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2e7cebc125e92494faf01d8936568a90
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -170,6 +170,7 @@ public class DataManager : BaseManager<DataManager>
|
||||||
D_SubProcessStep operation = new D_SubProcessStep();
|
D_SubProcessStep operation = new D_SubProcessStep();
|
||||||
operation.processId = process.id;
|
operation.processId = process.id;
|
||||||
operation.schemeId = subject.id;
|
operation.schemeId = subject.id;
|
||||||
|
operation.subProcessId = step.id;
|
||||||
operation.subProcessStepName = operationNode.Attributes["subProcessStepName"].Value;
|
operation.subProcessStepName = operationNode.Attributes["subProcessStepName"].Value;
|
||||||
operation.triggerID = operationNode.Attributes["triggerID"].Value;
|
operation.triggerID = operationNode.Attributes["triggerID"].Value;
|
||||||
operation.tipTitle = operationNode.Attributes["tipTitle"].Value;
|
operation.tipTitle = operationNode.Attributes["tipTitle"].Value;
|
||||||
|
|
|
@ -97,6 +97,11 @@ public class GameManager : SingletonAutoMono<GameManager>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static ToolAndmaterialMgr ToolAndmaterialMgr { get; private set; }
|
public static ToolAndmaterialMgr ToolAndmaterialMgr { get; private set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 数据重连管理类
|
||||||
|
/// </summary>
|
||||||
|
public static ReconnectMgr ReconnectMgr { get; private set; }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -121,6 +126,7 @@ public class GameManager : SingletonAutoMono<GameManager>
|
||||||
RunModelMgr = RunModelMgr.Instance;
|
RunModelMgr = RunModelMgr.Instance;
|
||||||
ToolAndmaterialMgr = ToolAndmaterialMgr.Instance;
|
ToolAndmaterialMgr = ToolAndmaterialMgr.Instance;
|
||||||
PacksackBagMgr = PacksackBagMgr.Instance;
|
PacksackBagMgr = PacksackBagMgr.Instance;
|
||||||
|
//ReconnectMgr = ReconnectMgr.Instance;//重连管理初始化
|
||||||
DataMgr.Init();
|
DataMgr.Init();
|
||||||
InitData();
|
InitData();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,106 @@
|
||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System.IO;
|
||||||
|
using LitJson;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 断线重连管理
|
||||||
|
/// </summary>
|
||||||
|
public class ReconnectMgr : SingletonMono<ReconnectMgr>
|
||||||
|
{
|
||||||
|
[HideInInspector]
|
||||||
|
public float recordDuration = -1;
|
||||||
|
private float recordCountdown = -1;
|
||||||
|
private TB_UserExamStat UserExamStat = new TB_UserExamStat();
|
||||||
|
private string localStatPath = "";
|
||||||
|
private string localStatFileName = "realtimeStat.json";
|
||||||
|
/// <summary>
|
||||||
|
/// 初始化函数,记录时间间隔
|
||||||
|
/// </summary>
|
||||||
|
public void Init( )
|
||||||
|
{
|
||||||
|
localStatPath = Application.streamingAssetsPath + "/" + localStatFileName;
|
||||||
|
//if (File.Exists( localStatPath ))//启动后检查有没有之前的遗留
|
||||||
|
//{
|
||||||
|
// File.Delete( localStatPath );
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
ReconnectMgr()//构造函数
|
||||||
|
{
|
||||||
|
Init( );
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 记录用户状态
|
||||||
|
/// </summary>
|
||||||
|
public void RealtimeStatWriter()
|
||||||
|
{
|
||||||
|
//记录步骤相关各项信息
|
||||||
|
UserExamStat.schemeID = ProcessManager.Instance.schemeID;
|
||||||
|
UserExamStat.processId = ProcessManager.Instance.processId;
|
||||||
|
UserExamStat.subProcessId = ProcessManager.Instance.subProcessId;
|
||||||
|
UserExamStat.subProcessStepId = ProcessManager.Instance.subProcessStepId;
|
||||||
|
|
||||||
|
string UserJson = JsonConvert.SerializeObject(UserExamStat, Formatting.Indented);
|
||||||
|
Debug.Log("用户当前状态" + UserJson);
|
||||||
|
|
||||||
|
File.WriteAllText(localStatPath, UserJson);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 读取用户状态(先使用同步,后用异步)
|
||||||
|
/// </summary>
|
||||||
|
public bool RealtimeStatReader()
|
||||||
|
{
|
||||||
|
if (File.Exists(localStatPath))
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
StreamReader sr = new StreamReader(localStatPath);
|
||||||
|
string user_last_stat = sr.ReadToEnd();
|
||||||
|
sr.Close();
|
||||||
|
UserExamStat = JsonMapper.ToObject<TB_UserExamStat>(user_last_stat);
|
||||||
|
Debug.Log("用户当前schemeID:" + UserExamStat.schemeID);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (System.Exception e)
|
||||||
|
{
|
||||||
|
Debug.LogError(e.ToString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start is called before the first frame update
|
||||||
|
//void Start()
|
||||||
|
//{
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
|
// Update is called once per frame
|
||||||
|
void Update()
|
||||||
|
{
|
||||||
|
if (Input.GetKeyDown(KeyCode.S))//测试用,按S读取状态保存
|
||||||
|
{
|
||||||
|
RealtimeStatWriter();
|
||||||
|
}
|
||||||
|
else if(Input.GetKeyDown(KeyCode.R))
|
||||||
|
{
|
||||||
|
RealtimeStatReader();
|
||||||
|
|
||||||
|
ProcessManager.Instance.HandoverProcess(UserExamStat.processId, UserExamStat.subProcessId, UserExamStat.subProcessStepId);
|
||||||
|
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, UserExamStat.subProcessId);
|
||||||
|
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, UserExamStat.subProcessId);
|
||||||
|
//Debug.LogError(ProcessManager.Instance.subProcessStepTriggerID);
|
||||||
|
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2b0607653b5fed643b96912f73248d7e
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
Loading…
Reference in New Issue