示例#1
0
        public void Update()
        {
            switch (_state)
            {
            case ReadyToLoadStateType.Init1:
            {
                if (!AssetBundleMgr.GetInstance().IsInited())
                {
                    break;
                }

                UiMgr.GetInstance().Init();
                _state = ReadyToLoadStateType.Init2;
                break;
            }

            case ReadyToLoadStateType.Init2:
            {
                if (!UiMgr.GetInstance().IsInited())
                {
                    break;
                }

                _state = ReadyToLoadStateType.LoadScene;
                break;
            }

            case ReadyToLoadStateType.LoadScene:
            {
                // 初始化加载,下面二行可以优化成加载类
                GameMain.GetInstance().Init();

                // 设置 加载场景需要加载的数据
                AsyncLoaderCache cache = AsyncLoaderCache.GetInstance();
                cache.Loaders.Clear();

                AsyncLoaderScene ssloader = new AsyncLoaderScene(AsyncLoader.SceneLoginAbPath, AsyncLoader.SceneLoginName, AsyncLoader.SceneLoginMapId);
                cache.Loaders.Add(ssloader);

                //AsyncLoaderTest testLoader = new AsyncLoaderTest( );
                //cache.Loaders.Add( testLoader );

                // 准备开始游戏了,加载“加载场景”
                SceneManager.LoadScene(AsyncLoader.SceneLoader);

                _state = ReadyToLoadStateType.Ok;
                break;
            }

            case ReadyToLoadStateType.Ok:
                break;
            }
        }
示例#2
0
        public void LoadScene(string sceneAbPath, string sceneResName, int mapId)
        {
            // 通知,有新的场景需要加载了
            EventDispatcher.GetInstance().Broadcasting(eEventType.SceneLoadStart);

            // 设置 加载场景需要加载的数据
            AsyncLoaderCache cache = AsyncLoaderCache.GetInstance();

            cache.Loaders.Clear();

            AsyncLoaderScene ssloader = new AsyncLoaderScene(sceneAbPath, sceneResName, mapId);

            cache.Loaders.Add(ssloader);

            // 加载“加载场景”
            _isLoadedMap = false;
            SceneManager.LoadScene(AsyncLoader.SceneLoader);
        }