private SceneInfo LoadSceneInfo(int sceneID) { SceneData data = SceneDataTable.Get(sceneID); if (data == null) { Log.e("#Not Find SceneData for SceneID:" + sceneID); return(null); } //bool needAdd = true; SceneInfo sceneInfo = ObjectPool <SceneInfo> .S.Allocate(); sceneInfo.Init(sceneID); return(sceneInfo); }
public void LoadSceneRes() { if (m_SceneState != eSceneState.UnInit) { return; } m_SceneState = eSceneState.Loading; SceneData data = SceneDataTable.Get(m_SceneID); if (data == null) { return; } if (data.loadStrategy == SceneLoadStatgy.Addressable) { AddressableResMgr.S.LoadSceneAsync(data.fullPath, (sceneInstance) => { if (m_OpenCallback != null) { m_OpenCallback.Invoke(); } }, data.loadSceneMode); } else { SceneManager.LoadSceneAsync(data.fullPath, data.loadSceneMode).completed += (handle) => { if (m_OpenCallback != null) { m_OpenCallback.Invoke(); } }; } }