修复报错
This commit is contained in:
@@ -6,20 +6,19 @@ using BigSpace.XRCore.Scene;
|
||||
using System;
|
||||
using BigSpace.XRCore.Event;
|
||||
using BigSpace.Logic;
|
||||
using Unity.XR.PXR;
|
||||
public class SceneMgr : MonoSingleton<SceneMgr>
|
||||
{
|
||||
private Coroutine _currentCoroutine; // 当前正在进行的场景切换协程
|
||||
private ISceneDataProvider _sceneDataProvider; // 场景数据提供者
|
||||
private Coroutine _currentCoroutine; // <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD>еij<EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>Э<EFBFBD><EFBFBD>
|
||||
private ISceneDataProvider _sceneDataProvider; // <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD><EFBFBD>
|
||||
private string _sceneName;
|
||||
public int nowSceneId = 0; //当前正式的场景(不包括中间过度场景)
|
||||
public bool isCanMove = true;//是否可以用手柄走动
|
||||
public int nowSceneId = 0; //<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ʽ<EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD>ȳ<EFBFBD><C8B3><EFBFBD>)
|
||||
public bool isCanMove = true;//<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD>߶<EFBFBD>
|
||||
public bool isTrigger = false;
|
||||
public bool handisactive = false;
|
||||
/// <summary>
|
||||
/// 初始化场景管理器
|
||||
/// <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/// </summary>
|
||||
/// <param name="sceneDataProvider">场景数据提供接口</param>
|
||||
/// <param name="sceneDataProvider"><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ṩ<EFBFBD>ӿ<EFBFBD></param>
|
||||
public void Initialize(ISceneDataProvider sceneDataProvider)
|
||||
{
|
||||
_sceneDataProvider = sceneDataProvider;
|
||||
@@ -36,7 +35,7 @@ public class SceneMgr : MonoSingleton<SceneMgr>
|
||||
{
|
||||
if (_sceneName == arg0.name)
|
||||
{
|
||||
//Debug.Log("======================清了内存");
|
||||
//Debug.Log("======================<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>");
|
||||
Resources.UnloadUnusedAssets();
|
||||
GC.Collect();
|
||||
}
|
||||
@@ -49,40 +48,40 @@ public class SceneMgr : MonoSingleton<SceneMgr>
|
||||
Debug.LogWarning("A scene transition is already in progress.");
|
||||
return;
|
||||
}
|
||||
// 获取场景数据
|
||||
// <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
var loadingData = _sceneDataProvider.GetLoadingSceneData(sceneId);
|
||||
if (_sceneName != null && _sceneName == loadingData.SceneName) //同一个场景就不跳转
|
||||
if (_sceneName != null && _sceneName == loadingData.SceneName) //ͬһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ת
|
||||
return;
|
||||
|
||||
_sceneName = loadingData.SceneName;
|
||||
isTrigger = false;
|
||||
Debug.Log("开始跳转场景"+ _sceneName);
|
||||
Debug.Log("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"+ _sceneName);
|
||||
GlobalEventMgr.Dispatch(GameEvent.EventSetHandMove, 1);
|
||||
_currentCoroutine = PersistenceCoroutineMgr.Instance.StartCoroutine(HandleSceneTransition(loadingData));
|
||||
}
|
||||
|
||||
public IEnumerator HandleSceneTransition(SceneData loadingData)
|
||||
{
|
||||
// 淡出
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
GlobalEventMgr.Dispatch(GameEvent.EventChangeScence);
|
||||
ChangSceneSphereMgr.Instance.ShowChangeSecne(true);
|
||||
yield return new WaitForSeconds(GameDataManage.Instance.outFadeTime);
|
||||
//Debug.Log("ok淡出===========================" + loadingData.id + "||" + loadingData.LoadingSceneName + "||" + loadingData.SceneName);
|
||||
//Debug.Log("ok<EFBFBD><EFBFBD><EFBFBD><EFBFBD>===========================" + loadingData.id + "||" + loadingData.LoadingSceneName + "||" + loadingData.SceneName);
|
||||
if (!string.IsNullOrEmpty(loadingData.LoadingSceneName))
|
||||
{
|
||||
yield return SceneManager.LoadSceneAsync(loadingData.LoadingSceneName);
|
||||
|
||||
//旧UI相关
|
||||
//if (loadingData.SceneName != "Waiting" && loadingData.SceneName != "Scene_07") //关于等待出场景文字
|
||||
//<EFBFBD><EFBFBD>UI<EFBFBD><EFBFBD><EFBFBD>
|
||||
//if (loadingData.SceneName != "Waiting" && loadingData.SceneName != "Scene_07") //<EFBFBD><EFBFBD><EFBFBD>ڵȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//{
|
||||
// //Debug.Log("跳谁:" + loadingData.id + "||" + loadingData.SceneName);
|
||||
// //Debug.Log("<EFBFBD><EFBFBD>˭:" + loadingData.id + "||" + loadingData.SceneName);
|
||||
// GlobalEventMgr.Dispatch(GameEvent.EventShowUI, loadingData.id % 10000);
|
||||
|
||||
// yield return new WaitForSeconds(4f);
|
||||
//}
|
||||
}
|
||||
|
||||
//Debug.Log("开始跳目标场景.................."+ loadingData.SceneName);
|
||||
//Debug.Log("<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>Ŀ<EFBFBD>곡<EFBFBD><EFBFBD>.................."+ loadingData.SceneName);
|
||||
yield return SceneManager.LoadSceneAsync(loadingData.SceneName);
|
||||
_currentCoroutine = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user