获取场景内所有可以点击的物品
This commit is contained in:
parent
254f54a708
commit
56eba812fe
|
|
@ -1,30 +1,27 @@
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 保存用户考试状态
|
/// 保存用户考试状态
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
//用于记录场景中物品的信息
|
||||||
|
[Serializable]
|
||||||
|
public class ReconnetItemInfo
|
||||||
|
{
|
||||||
|
public int toolId;
|
||||||
|
public int triggerID;
|
||||||
|
public string toolName;
|
||||||
|
public E_ToolOrDeviceOrMaterials toolOrDeviceOrMaterial;
|
||||||
|
public Vector3 selfPosInToolRoom;
|
||||||
|
}
|
||||||
public class TB_UserExamStat
|
public class TB_UserExamStat
|
||||||
{
|
{
|
||||||
/// <summary>
|
/*public int schemeID = -1;//当前方案ID
|
||||||
///当前方案ID
|
public int processId = -1;// 当前流程Id
|
||||||
/// </summary>
|
public int subProcessId = -1;//当前子流程Id
|
||||||
public int schemeID = -1;
|
public int subProcessStepId = -1;//当前子流程步骤Id*/
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 当前流程Id
|
|
||||||
/// </summary>
|
|
||||||
public int processId = -1;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 当前子流程Id
|
|
||||||
/// </summary>
|
|
||||||
public int subProcessId = -1;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 当前子流程步骤Id
|
|
||||||
/// </summary>
|
|
||||||
public int subProcessStepId = -1;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 背包中所有的工具和材料
|
/// 背包中所有的工具和材料
|
||||||
|
|
@ -36,4 +33,14 @@ public class TB_UserExamStat
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<string> allWear = new List<string>();
|
public List<string> allWear = new List<string>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 场景名称
|
||||||
|
/// </summary>
|
||||||
|
public string sceneName = "";
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当前场景内的所有可触发物品
|
||||||
|
/// </summary>
|
||||||
|
private List<ReconnetItemInfo> currentSceneTools = new List<ReconnetItemInfo>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,8 +79,8 @@ public class ProcessManager : BaseManager<ProcessManager>
|
||||||
{
|
{
|
||||||
this.schemeID = id;
|
this.schemeID = id;
|
||||||
this.mode = mode;
|
this.mode = mode;
|
||||||
//coroutine = GameManager.MonoMgr.StartCoroutine(CountDown(countDown));
|
coroutine = GameManager.MonoMgr.StartCoroutine(CountDown(countDown));
|
||||||
coroutine = GameManager.MonoMgr.StartCoroutine(AutoSaveStat(countDown));//自动保存用户状态信息
|
//coroutine = GameManager.MonoMgr.StartCoroutine(AutoSaveStat(countDown));//自动保存用户状态信息
|
||||||
d_Scheme = DataManager.Instance.GetSchemeData(id);
|
d_Scheme = DataManager.Instance.GetSchemeData(id);
|
||||||
ReportManager.Instance.creport = DataManager.Instance.GetSchemeReport(id);
|
ReportManager.Instance.creport = DataManager.Instance.GetSchemeReport(id);
|
||||||
GameManager.ToolAndmaterialMgr.Init(d_Scheme.ToolOrMaterilOrDevice);
|
GameManager.ToolAndmaterialMgr.Init(d_Scheme.ToolOrMaterilOrDevice);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ using Newtonsoft.Json;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using LitJson;
|
using LitJson;
|
||||||
|
using System;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 断线重连管理
|
/// 断线重连管理
|
||||||
|
|
@ -18,6 +19,7 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
|
||||||
private TB_UserExamStat UserExamStat = new TB_UserExamStat();
|
private TB_UserExamStat UserExamStat = new TB_UserExamStat();
|
||||||
private string localStatPath = "";
|
private string localStatPath = "";
|
||||||
private string localStatFileName = "realtimeStat.json";
|
private string localStatFileName = "realtimeStat.json";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 初始化函数,记录时间间隔
|
/// 初始化函数,记录时间间隔
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
@ -43,10 +45,10 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
|
||||||
|
|
||||||
|
|
||||||
//记录步骤相关各项信息
|
//记录步骤相关各项信息
|
||||||
UserExamStat.schemeID = ProcessManager.Instance.schemeID;
|
/*UserExamStat.schemeID = ProcessManager.Instance.schemeID;
|
||||||
UserExamStat.processId = ProcessManager.Instance.processId;
|
UserExamStat.processId = ProcessManager.Instance.processId;
|
||||||
UserExamStat.subProcessId = ProcessManager.Instance.subProcessId;
|
UserExamStat.subProcessId = ProcessManager.Instance.subProcessId;
|
||||||
UserExamStat.subProcessStepId = ProcessManager.Instance.subProcessStepId;
|
UserExamStat.subProcessStepId = ProcessManager.Instance.subProcessStepId;*/
|
||||||
|
|
||||||
//记录装备材料信息
|
//记录装备材料信息
|
||||||
UserExamStat.allToolAndMaterial.Clear();
|
UserExamStat.allToolAndMaterial.Clear();
|
||||||
|
|
@ -67,6 +69,24 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
|
||||||
UserExamStat.allWear.Add(((ItemInfo)item.Value).toolName);
|
UserExamStat.allWear.Add(((ItemInfo)item.Value).toolName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取当前所加载场景的名字
|
||||||
|
UserExamStat.sceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name;
|
||||||
|
|
||||||
|
//获取场景内所有可以出发的物品
|
||||||
|
currentSceneTools.Clear();
|
||||||
|
BaseToolOrDevice[] allThings = FindObjectsOfType<BaseToolOrDevice>();
|
||||||
|
foreach (BaseToolOrDevice item in allThings)
|
||||||
|
{
|
||||||
|
Debug.Log(item.itemInfo.toolName);
|
||||||
|
ReconnetItemInfo rec = new ReconnetItemInfo();
|
||||||
|
rec.toolId = item.itemInfo.toolId;
|
||||||
|
rec.toolName = item.itemInfo.toolName;
|
||||||
|
rec.triggerID = item.itemInfo.triggerID;
|
||||||
|
rec.toolOrDeviceOrMaterial = item.itemInfo.toolOrDeviceOrMaterial;
|
||||||
|
rec.selfPosInToolRoom = item.itemInfo.selfPosInToolRoom;
|
||||||
|
currentSceneTools.Add(rec);
|
||||||
|
}
|
||||||
|
//转换为JSON
|
||||||
string UserJson = JsonConvert.SerializeObject(UserExamStat, Formatting.Indented);
|
string UserJson = JsonConvert.SerializeObject(UserExamStat, Formatting.Indented);
|
||||||
Debug.Log("用户当前状态" + UserJson);
|
Debug.Log("用户当前状态" + UserJson);
|
||||||
|
|
||||||
|
|
@ -86,7 +106,6 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
|
||||||
string user_last_stat = sr.ReadToEnd();
|
string user_last_stat = sr.ReadToEnd();
|
||||||
sr.Close();
|
sr.Close();
|
||||||
UserExamStat = JsonMapper.ToObject<TB_UserExamStat>(user_last_stat);
|
UserExamStat = JsonMapper.ToObject<TB_UserExamStat>(user_last_stat);
|
||||||
Debug.Log("Óû§µ±Ç°schemeID:" + UserExamStat.schemeID);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
catch (System.Exception e)
|
catch (System.Exception e)
|
||||||
|
|
@ -111,19 +130,18 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
|
||||||
{
|
{
|
||||||
if (Input.GetKeyDown(KeyCode.S))//测试用,按S读取状态保存
|
if (Input.GetKeyDown(KeyCode.S))//测试用,按S读取状态保存
|
||||||
{
|
{
|
||||||
//RealtimeStatWriter();
|
RealtimeStatWriter();
|
||||||
//Dictionary<string, List<ItemInfo>> tmpDic = PacksackBagMgr.Instance.GetCurrentBagData();
|
//Dictionary<string, List<ItemInfo>> tmpDic = PacksackBagMgr.Instance.GetCurrentBagData();
|
||||||
//Debug.Log(12);
|
Debug.Log("当前场景:" + UserExamStat.sceneName);
|
||||||
}
|
}
|
||||||
else if(Input.GetKeyDown(KeyCode.R))
|
else if(Input.GetKeyDown(KeyCode.R))
|
||||||
{
|
{
|
||||||
RealtimeStatReader();
|
RealtimeStatReader();
|
||||||
|
ScenesManager.Instance.LoadScene(UserExamStat.sceneName);
|
||||||
ProcessManager.Instance.HandoverProcess(UserExamStat.processId, UserExamStat.subProcessId, UserExamStat.subProcessStepId);
|
/*ProcessManager.Instance.HandoverProcess(UserExamStat.processId, UserExamStat.subProcessId, UserExamStat.subProcessStepId);
|
||||||
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, UserExamStat.subProcessId);
|
StepStateControl.instance.InvokeInitStepState(GameManager.Instance.systemId, GameManager.ProcessMgr.d_Scheme.id, UserExamStat.subProcessId);
|
||||||
GameManager.EventMgr.EventTrigger<int>(Enum_EventType.SwitchSubProcess, 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);*/
|
||||||
GameManager.EventMgr.EventTrigger<string>(Enum_EventType.SwitchSubProcessStepTriggerID, ProcessManager.Instance.subProcessStepTriggerID);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue