public void Shutdown()
 {
     if (!_allowSceneActivation)
     {
         mSceneLoader.allowSceneActivation = true;
     }
     mBundleLoader  = null;
     mSceneLoader   = null;
     mCurrentBundle = null;
     mActive        = false;
     mCurrentPhase  = LoadingScenePhase.kNone;
 }
        private void LoadBundle()
        {
            AssetBundle returnedBundle;
            AssetBundleCreateRequest assetBundleCreateRequest = SwitchAssetBundle.LoadBundle(mCurrentBundle.mSceneBundle, out returnedBundle, out mCurrentBundleName, async: true);

            if (assetBundleCreateRequest == null)
            {
                mCurrentPhase = LoadingScenePhase.kSceneLoad;
                return;
            }
            mBundleLoader = assetBundleCreateRequest;
            mCurrentPhase = LoadingScenePhase.kBundleLoadWait;
        }
        private void LoadNextRequired()
        {
            if (mCurrentBundle.mRequires == null || mCurrentRequired == mCurrentBundle.mRequires.Length)
            {
                mCurrentPhase = LoadingScenePhase.kBundleLoad;
                return;
            }
            AssetBundle returnedBundle;
            AssetBundleCreateRequest assetBundleCreateRequest = SwitchAssetBundle.LoadBundle(mCurrentBundle.mRequires[mCurrentRequired], out returnedBundle, out mCurrentRequiredName, async: true);

            mCurrentRequired++;
            if (assetBundleCreateRequest == null)
            {
                LoadNextRequired();
                return;
            }
            mBundleLoader = assetBundleCreateRequest;
            mCurrentPhase = LoadingScenePhase.kRequiredFileLoadWait;
        }
 private void LoadScene()
 {
     mSceneLoader  = SceneManager.LoadSceneAsync(mSceneName);
     mCurrentPhase = LoadingScenePhase.kSceneLoadWait;
 }