Example #1
0
        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);
        }
Example #2
0
        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();
                    }
                };
            }
        }