/// <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); }