添加部分多场景保存

This commit is contained in:
liuyu 2024-09-06 15:24:48 +08:00
parent b280c5d0de
commit b4cf6286a8
3 changed files with 31 additions and 19 deletions

View File

@ -27,6 +27,13 @@ public class ReconnectTriggerInfo
public string triggerInfo;
}
//每个场景中保存的信息
public class ReconnectSpecialScene
{
public string sceneName;
public List<ReconnectItemInfo> currentSceneTools = new List<ReconnectItemInfo>();
public List<ReconnectTriggerInfo> currentSceneTriggers = new List<ReconnectTriggerInfo>();
}
//用于记录场景中物品的信息
[Serializable]
@ -55,7 +62,7 @@ public class TB_UserExamStat
/// <summary>
/// 用户经历过的场景
/// </summary>
//public List<string> experiencedScene = new List<string>();
public List<string> experiencedScene = new List<string>();
/// <summary>
/// 背包中所有的工具和材料
@ -86,4 +93,9 @@ public class TB_UserExamStat
/// 关卡内所有缓存信息,不定数据格式
/// </summary>
public string currentSceneOtherInfo = "";
/// <summary>
/// 记录每个场景中的情况
/// </summary>
public List<ReconnectSpecialScene> experiencedScenes = new List<ReconnectSpecialScene>();
}

View File

@ -35,16 +35,16 @@ public class ReconnectMgr : SingletonMono<ReconnectMgr>
/// <summary>
/// 用户每经历一个场景就需要保存一个场景的数据
/// </summary>
//public bool IntoNewScene(string sceneName)
//{
// if (UserExamStat.experiencedScene.Contains(sceneName))
// return false;
// else
// {
// UserExamStat.experiencedScene.Add(sceneName);
// return true;
// }
//}
public bool IntoNewScene(string sceneName)
{
if (UserExamStat.experiencedScene.Contains(sceneName))
return false;
else
{
UserExamStat.experiencedScene.Add(sceneName);
return true;
}
}
ReconnectMgr()//构造函数
{

View File

@ -19,10 +19,10 @@ public class ScenesManager : BaseManager<ScenesManager>
LoadSceneMode loadSceneMode = LoadSceneMode.Single)
{
SceneManager.LoadScene(sceneName, loadSceneMode);
//if (ReconnectMgr.Instance != null) //进入场景后做记录
//{
// ReconnectMgr.Instance.IntoNewScene(sceneName);
//}
if (ReconnectMgr.Instance != null) //进入场景后做记录
{
ReconnectMgr.Instance.IntoNewScene(sceneName);
}
action?.Invoke();
}
@ -70,10 +70,10 @@ public class ScenesManager : BaseManager<ScenesManager>
{
yield return null;
}
//if (ReconnectMgr.Instance != null)//进入场景后做记录
//{
// ReconnectMgr.Instance.IntoNewScene(sceneName);
//}
if (ReconnectMgr.Instance != null)//进入场景后做记录
{
ReconnectMgr.Instance.IntoNewScene(sceneName);
}
action?.Invoke();
}
}