Exemple #1
0
 /// <summary>
 /// 卸载场景
 /// </summary>
 /// <param name="pathOrAddress">路径/地址</param>
 /// <param name="completeCallback">完成委托</param>
 /// <param name="progressCallback">进度委托</param>
 /// <param name="userData">携带参数</param>
 public static void UnloadSceneAsync(string pathOrAddress,
                                     OnSceneUnloadComplete completeCallback,
                                     OnSceneUnloadProgress progressCallback,
                                     SystemObject userData = null)
 {
     AssetMgr.GetInstance().UnloadSceneAsync(pathOrAddress, completeCallback, progressCallback, userData);
 }
        /// <summary>
        /// 卸载场景
        /// </summary>
        /// <param name="pathOrAddress">资源地址</param>
        /// <param name="completeCallback">完成后回调</param>
        /// <param name="progressCallback">卸载进度 回调 </param>
        /// <param name="userData">自定义数据</param>
        public void UnloadSceneAsync(string pathOrAddress,
                                     OnSceneUnloadComplete completeCallback,
                                     OnSceneUnloadProgress progressCallback,
                                     SystemObject userData = null)
        {
            bool isSceneLoaded = m_LoadedSceneHandles.Any((sHandle) =>
            {
                return(sHandle.PathOrAddress == pathOrAddress);
            });

            if (!isSceneLoaded)
            {
                Debug.LogError($"SceneAssetLoader::UnloadSceneAsync->Scene not found.pathOrAddress={pathOrAddress}");
                return;
            }

            SceneUnloadData unloadData = new SceneUnloadData();

            unloadData.PathOrAddress    = pathOrAddress;
            unloadData.CompleteCallback = completeCallback;
            unloadData.ProgressCallback = progressCallback;
            unloadData.UserData         = userData;

            m_UnloadingSceneDatas.Add(unloadData);
        }
 /// <summary>
 /// 卸载场景
 /// </summary>
 /// <param name="pathOrAddress">路径/地址</param>
 /// <param name="completeCallback">完成委托</param>
 /// <param name="progressCallback">进度委托</param>
 /// <param name="userData">携带参数</param>
 public void UnloadSceneAsync(string pathOrAddress,
                              OnSceneUnloadComplete completeCallback,
                              OnSceneUnloadProgress progressCallback,
                              SystemObject userData = null)
 {
     if (m_SceneLoader == null)
     {
         Debug.LogError("AssetManager::LoadSceneAsync->sceneLoader has not been inited");
         return;
     }
     m_SceneLoader.UnloadSceneAsync(pathOrAddress, completeCallback, progressCallback, userData);
 }