예제 #1
0
        IEnumerator Start()
        {
            _assetFileBridge = AssetFileLoader.Load(_url, (bool isOk, UnityEngine.Object obj) => { },
                                                    _mode);

            while (!_assetFileBridge.IsCompleted)
            {
                yield return(null);
            }
            if (_assetFileBridge.IsError)
            {
                Log.Error("[SceneLoader]Load SceneLoader Failed(Error) when Finished: {0}", _url);
                _assetFileBridge.Release();
                OnFinish(null);
                yield break;
            }

            // load scene
            Debuger.Assert(_assetFileBridge.Asset);

            if (_mode == LoaderMode.Sync)
            {
                UnityEngine.SceneManagement.SceneManager.LoadScene(_sceneName,
                                                                   UnityEngine.SceneManagement.LoadSceneMode.Additive);
            }

            else
            {
                var op = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(_sceneName, UnityEngine.SceneManagement.LoadSceneMode.Additive);
                while (!op.isDone)
                {
                    yield return(null);
                }
            }

            if (Application.isEditor)
            {
                KResourceModule.Instance.StartCoroutine(EditorLoadSceneBugFix(null));
            }

            OnFinish(_assetFileBridge);
        }
예제 #2
0
 protected override void DoDispose()
 {
     base.DoDispose();
     AssetFileBridge.Release(IsBeenReleaseNow); // all, Texture is singleton!
 }
예제 #3
0
        protected override void DoDispose()
        {
            base.DoDispose();

            AssetFileBridge.Release(IsBeenReleaseNow);
        }
예제 #4
0
 protected override void DoDispose()
 {
     base.DoDispose();
     _bridge.Release(IsBeenReleaseNow);
 }
예제 #5
0
 protected override void DoDispose()
 {
     base.DoDispose();
     _assetFileLoader.Release(IsBeenReleaseNow);
     GameObject.Destroy(TheAsset);
 }
예제 #6
0
 protected override void DoDispose()
 {
     base.DoDispose();
     _assetFileBridge.Release(IsBeenReleaseNow);
     UnityEngine.SceneManagement.SceneManager.UnloadScene(_sceneName);
 }
예제 #7
0
        IEnumerator Start()
        {
            _assetFileBridge = AssetFileLoader.Load(_url, (bool isOk, UnityEngine.Object obj) => { },
                _mode);

            while (!_assetFileBridge.IsCompleted)
            {
                yield return null;
            }
            if (_assetFileBridge.IsError)
            {
                Log.Error("[SceneLoader]Load SceneLoader Failed(Error) when Finished: {0}", _url);
                _assetFileBridge.Release();
                OnFinish(null);
                yield break;
            }

            // load scene
            Debuger.Assert(_assetFileBridge.Asset);

            if (_mode == LoaderMode.Sync)
                UnityEngine.SceneManagement.SceneManager.LoadScene(_sceneName,
                    UnityEngine.SceneManagement.LoadSceneMode.Additive);

            else
            {
                var op = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync(_sceneName, UnityEngine.SceneManagement.LoadSceneMode.Additive);
                while (!op.isDone)
                {
                    yield return null;
                }
            }

            if (Application.isEditor)
                KResourceModule.Instance.StartCoroutine(EditorLoadSceneBugFix(null));

            OnFinish(_assetFileBridge);
        }