/// <summary> /// 根据路径加载后设置Texture /// </summary> /// <param name="strTextureFile"></param> public void SetTexture(string strTextureFile) { if (string.IsNullOrEmpty(strTextureFile)) { return; } if (null != this.m_uiTexture && !this.m_strTextureFile.Equals(strTextureFile)) { this.m_strTextureFile = strTextureFile; if (this.m_assetRequest != null) { if (this.m_assetRequest.IsFinished) { if (this.m_assetRequestOld != null) { this.m_assetRequestOld.Dispose(); this.m_assetRequestOld = null; } this.m_assetRequestOld = this.m_assetRequest; } else { this.m_assetRequest.Dispose(); } this.m_assetRequest = null; } this.m_assetRequest = XUITool.Instance.LoadResAsyn(this.m_strTextureFile, new AssetRequestFinishedEventHandler(this.OnLoadTextureFinished), AssetPRI.DownloadPRI_Low); } }
public IEnumerator Load(IAssetRequest <Texture2D> assetRequest) { assetRequest.State = Progress.InProgress; if (loadedTextures.TryGetValue(assetRequest.Url, out Texture2D texture)) { FARLogger.DebugFormat("Using already loaded texture {0}", assetRequest.Url); assetRequest.State = Progress.Completed; assetRequest.OnLoad(texture); yield break; } string path = $@"file:///{PathUtil.Combine(PathUtil.ParentDir, assetRequest.Url)}"; FARLogger.DebugFormat("Loading texture from {0}", path); using UnityWebRequest request = UnityWebRequestTexture.GetTexture(path); yield return(request.SendWebRequest()); if (!string.IsNullOrEmpty(request.error)) { FARLogger.Error($"Error loading texture from {request.url}: {request.error}"); assetRequest.State = Progress.Error; assetRequest.OnError(); } else { FARLogger.DebugFormat("Texture loaded from from {0}", request.url); Texture2D content = DownloadHandlerTexture.GetContent(request); loadedTextures.Add(assetRequest.Url, content); assetRequest.State = Progress.Completed; assetRequest.OnLoad(content); } }
/// <summary> /// アセットバンドルからアセットをロード /// </summary> public void LoadAsset(string assetBundleName, string assetName, Action <UnityEngine.Object> onEnded = null) { // アセットバンドルロード LoadAssetBundle(assetBundleName, bundle => { // アセットロード string key = string.Format("{0}/{1}", assetBundleName, assetName); IAssetRequest req = null; if (mAssetRequestList.TryGetValue(key, out req)) { // 登録済み req.AddEndedRequest(onEnded); return; } #if UNITY_EDITOR if (IsSimulationMode) { req = new RequestAssetForSimulateMode(); } #endif if (req == null) { req = new RequestAsset(); } req.Start(bundle, assetBundleName, assetName, onEnded); mAssetRequestList[key] = req; }); }
/// <summary> /// 根据路径取得资源设置IconTexture /// </summary> /// <param name="strTexture"></param> public void SetIconTexture(string strTexture) { if (null != this.m_uiTexture && !this.m_strTextureFile.Equals(strTexture)) { this.m_strTextureFile = strTexture; if (this.m_assetRequest != null) { if (this.m_assetRequest.IsFinished) { if (this.m_assetRequestOld != null) { this.m_assetRequestOld.Dispose(); this.m_assetRequestOld = null; } this.m_assetRequestOld = this.m_assetRequest; } else { this.m_assetRequest.Dispose(); } this.m_assetRequest = null; } this.m_assetRequest = XUITool.Instance.LoadResAsyn(this.m_strTextureFile, new AssetRequestFinishedEventHandler(this.OnLoadTextureFinished), AssetPRI.DownloadPRI_Low); } XUIPicture xUIPicture = this.GetUIObject("Texture_Icon") as XUIPicture; if (null != xUIPicture) { xUIPicture.SetTexture(strTexture); } }
private void OnLoadTextureFinished(IAssetRequest assetRequest) { if (null == assetRequest || null == assetRequest.AssetResource) { return; } //取得加载进来的图片 Texture2D texture2D = assetRequest.AssetResource.MainAsset as Texture2D; if (texture2D != null) { this.CreateAtlasFromTex(new List <Texture2D> { texture2D }); if (this.m_dicPrepareCallBack.ContainsKey(texture2D.name)) { if (this.m_dicPrepareCallBack[texture2D.name] != null) { try { this.m_dicPrepareCallBack[texture2D.name](this.AtlasName, texture2D.name, this.m_uiAtlas); } catch (Exception e) { Debug.LogException(e); } } this.m_dicPrepareCallBack[texture2D.name] = null; } } }
private void OnLoadUIFinishedEventHandler(IAssetRequest assetRequest) { try { IAssetResource assetResource = assetRequest.AssetResource; GameObject gameObject; if (assetResource != null && null != assetResource.MainAsset) { UnityEngine.Object mainAsset = assetResource.MainAsset; gameObject = (UnityEngine.Object.Instantiate(mainAsset) as GameObject); } else { gameObject = new GameObject(this.fileName + "_NotFound"); this.m_log.Fatal(string.Format("null == assetResource: {0}", this.fileName)); } if (null != gameObject) { gameObject.name = this.fileName; gameObject.transform.parent = UIManager.singleton.UIRoot; gameObject.transform.localPosition = new Vector3(-0.5f, 0.5f, 0f); gameObject.transform.localScale = new Vector3(1f, 1f, 1f); TUIBehaviour tUIBehaviour = gameObject.AddComponent <TUIBehaviour>();//添加脚本 tUIBehaviour.ParentDlg = this; this._Init(tUIBehaviour); } } catch (Exception ex) { this.m_log.Fatal(ex.ToString()); } }
public IEnumerator Load(IAssetRequest <Texture2D> assetRequest) { if (!GameDatabase.Instance.IsReady()) { FARLogger.Warning("Trying to load textures before GameDatabase has been loaded"); assetRequest.State = Progress.Error; assetRequest.OnError(); yield break; } assetRequest.State = Progress.InProgress; try { FARLogger.DebugFormat("Getting texture {0} from GameDatabase", assetRequest.Url); Texture2D texture = GameDatabase.Instance.GetTexture(assetRequest.Url, false); assetRequest.State = Progress.Completed; assetRequest.OnLoad(texture); } catch (Exception e) { FARLogger.Exception(e, $"While loading texture {assetRequest.Url} from game database:"); assetRequest.State = Progress.Error; assetRequest.OnError(); } }
/// <inheritdoc /> public IEnumerator Load(IAssetRequest <T> assetRequest) { FARLogger.Assert(assetRequest.Url != null, "Request url cannot be null"); assetRequest.State = Progress.InProgress; // make sure bundle is loaded if (BundleLoader.NeedsReload) { yield return(BundleLoader.Load()); } // check for errors if (BundleLoader.State == Progress.Error) { FARLogger.ErrorFormat("Could not load asset bundle {0} for request {1}", BundleLoader.Url, assetRequest.Url); assetRequest.State = Progress.Error; assetRequest.OnError(); yield break; } if (!BundleLoader.TryGetAsset(assetRequest.Url, out T asset)) { FARLogger.ErrorFormat("Could not find asset {0} in bundle {1}", assetRequest.Url, BundleLoader.Url); assetRequest.State = Progress.Error; assetRequest.OnError(); yield break; } assetRequest.State = Progress.Completed; assetRequest.OnLoad(asset); }
private void PrepareAtlas(string strAtlas, string strSprite) { //如果是动态图集的话 if (strAtlas.StartsWith("Dynamic_", System.StringComparison.CurrentCultureIgnoreCase)) { DynamicAtlasManager.Instance.AddRefCount(strAtlas, strSprite, new DynamicAtlasManager.PrepareAtlasCallBack(this.OnPrepareAtlas)); } else { //如果不是动态图集的话 if (this.m_assetRequestAtlas != null) { if (this.m_assetRequestAtlas.IsFinished) { if (this.m_assetRequestAtlasOld != null) { this.m_assetRequestAtlasOld.Dispose(); this.m_assetRequestAtlasOld = null; } this.m_assetRequestAtlasOld = this.m_assetRequestAtlas; } else { this.m_assetRequestAtlas.Dispose(); } this.m_assetRequestAtlas = null; } this.m_assetRequestAtlas = ResourceManager.singleton.LoadAtlas(strAtlas, new AssetRequestFinishedEventHandler(this.OnLoadAtlasFinished), AssetPRI.DownloadPRI_Plain); } }
private IEnumerator DelayCallBack(AssetRequestFinishedEventHandler eventHandler, IAssetRequest assetRequest) { yield return(new WaitForSeconds(0.01f)); this.m_bFinished = true; eventHandler(assetRequest); yield break; }
/// <summary> /// 卸载该模型,包括皮肤 /// </summary> public void Unload() { if (null != this.m_gameObject) { SkinnedMeshRenderer component = this.m_gameObject.GetComponent <SkinnedMeshRenderer>(); if (null != component) { //先卸载贴图 if (null != component.material) { if (null != component.material.mainTexture) { UnityEngine.Object.Destroy(component.material.mainTexture); } //再卸载材质 UnityEngine.Object.Destroy(component.material); } //再卸载多边形 if (null != component.sharedMesh) { UnityEngine.Object.Destroy(component.sharedMesh); } } //最后卸载GameObject UnityEngine.Object.Destroy(this.m_gameObject); this.m_gameObject = null; } //卸载之前下载的资源缓存 if (null != this.m_assetRequestBaseModel) { this.m_assetRequestBaseModel.RemoveQuickly = true; this.m_assetRequestBaseModel.Dispose(); this.m_assetRequestBaseModel = null; } if (null != this.m_assetRequestSuitModel) { this.m_assetRequestSuitModel.RemoveQuickly = true; this.m_assetRequestSuitModel.Dispose(); this.m_assetRequestSuitModel = null; } //卸载所有该神兽拥有的皮肤贴图 for (int i = 0; i < this.m_listAssetRequestSuitTexture.Count; i++) { IAssetRequest assetRequest = this.m_listAssetRequestSuitTexture[i]; if (null != assetRequest) { assetRequest.RemoveQuickly = true; assetRequest.Dispose(); } } this.m_listAssetRequestSuitTexture.Clear(); this.m_unBeastTypeId = 0; this.m_strBaseModelPath = string.Empty; this.m_nSuitId = 0; this.m_callBackFinish = null; this.m_bFinished = false; }
/// <summary> /// 通过资源加载场景回调 /// </summary> /// <param name="assetRequest"></param> public void OnLoadSceneAssetFinished(IAssetRequest assetRequest) { if (assetRequest != null && null != assetRequest.AssetResource) { this.m_sceneRequest = assetRequest; string strSceneName = Path.GetFileNameWithoutExtension(assetRequest.AssetResource.URL).Replace("scenes_", ""); UnityGameEntry.Instance.StartCoroutine(this.loadScene(strSceneName)); } }
/// <summary> /// 释放加载进来的精灵(IAssetRequest.Dispose()) /// </summary> /// <param name="sprites"></param> private void ReleaseSprite(DynamicAtlas.SpriteEntry sprites) { sprites.Clear(); IAssetRequest assetRequest = null; if (this.m_dicAssetRequestTexture.TryGetValue(sprites.spriteName, out assetRequest)) { assetRequest.Dispose(); this.m_dicAssetRequestTexture.Remove(sprites.spriteName); } }
/// <summary> /// 创建模型,根据模型的皮肤 /// </summary> /// <param name="unBeastTypeId">神兽模型id</param> /// <param name="nSuitId">皮肤id</param> /// <param name="callBack">回调</param> public void Dowork(int unBeastTypeId, int nSuitId, Action <GameObject> callBack) { if (this.m_unBeastTypeId == unBeastTypeId && this.m_nSuitId == nSuitId) { if (null != callBack) { if (this.m_bFinished) { callBack(this.m_gameObject); } else { this.m_callBackFinish = (Action <GameObject>)Delegate.Combine(this.m_callBackFinish, callBack); } } } else { //在创建模型前先卸载之前的缓存模型 this.Unload(); this.m_unBeastTypeId = unBeastTypeId; this.m_nSuitId = nSuitId; this.m_callBackFinish = callBack; //DataSuit dataByID = DataSuitManager.Instance.GetDataByID(nSuitId); DataSuit dataByID = GameData <DataSuit> .dataMap[nSuitId]; if (null != dataByID) { //合并类型 this.m_nMergeType = dataByID.Merge; List <string> arrayList = DataExtensions.GetArrayList(dataByID.Texture); if (arrayList.Count != 0) { //加载模型皮肤需要的贴图 for (int i = 0; i < arrayList.Count; i++) { string relativeUrl = string.Format("Texture/SuitTexture/{0}", arrayList[i]); this.m_listAssetRequestSuitTexture.Add(ResourceManager.singleton.LoadTexture(relativeUrl, new AssetRequestFinishedEventHandler(this.OnLoadSuitTextureFinished), AssetPRI.DownloadPRI_Plain)); } } //加载皮肤模型 if (!string.IsNullOrEmpty(dataByID.SuitPath)) { string relativeUrl2 = string.Format("Data/Model/BeastModel/{0}", dataByID.SuitPath); this.m_assetRequestSuitModel = ResourceManager.singleton.LoadModel(relativeUrl2, new AssetRequestFinishedEventHandler(this.OnLoadSuitModelFinished), AssetPRI.DownloadPRI_Plain); } } //获取基础模型路径 this.m_strBaseModelPath = AvatarTool.GetBasePath(nSuitId, unBeastTypeId); //加载基础模型 this.m_assetRequestBaseModel = ResourceManager.singleton.LoadModel(this.m_strBaseModelPath, new AssetRequestFinishedEventHandler(this.OnLoadBaseModelFinished), AssetPRI.DownloadPRI_Plain); } }
private void OnDestroy() { if (this.m_assetRequestOld != null) { this.m_assetRequestOld.Dispose(); this.m_assetRequestOld = null; } if (this.m_assetRequest != null) { this.m_assetRequest.Dispose(); this.m_assetRequest = null; } }
/// <summary> /// 增加精灵引用次数,如果不存在就动态创建加载 /// </summary> /// <param name="texName"></param> /// <param name="callBack"></param> public void AddRefCount(string texName, DynamicAtlasManager.PrepareAtlasCallBack callBack) { if (string.IsNullOrEmpty(texName)) { return; } //如果该动态图集不存在该精灵,就创建一个该精灵 if (!this.m_dicSpriteEntrys.ContainsKey(texName)) { this.m_dicSpriteEntrys[texName] = new DynamicAtlas.SpriteEntry(texName); } //精灵引用次数加一 this.m_dicSpriteEntrys[texName].AddRef(); if (this.m_dicSpriteEntrys[texName].IsPrepared) { if (callBack != null) { try { callBack(this.AtlasName, texName, this.m_uiAtlas); } catch (Exception exception) { Debug.LogException(exception); } } } else { if (callBack != null) { //如果精灵准备好的回调函数不为空的话,就加入到缓存中 if (!this.m_dicPrepareCallBack.ContainsKey(texName)) { this.m_dicPrepareCallBack[texName] = callBack; } else { DynamicAtlasManager.PrepareAtlasCallBack a = this.m_dicPrepareCallBack[texName]; this.m_dicPrepareCallBack[texName] = (DynamicAtlasManager.PrepareAtlasCallBack)Delegate.Combine(a, callBack); } } //加载该精灵资源 if (!this.m_dicAssetRequestTexture.ContainsKey(texName)) { string url = string.Format("Texture/{0}/{1}", this.m_strAtlasName, texName); IAssetRequest value = XUITool.Instance.LoadResAsyn(url, new AssetRequestFinishedEventHandler(this.OnLoadTextureFinished), AssetPRI.DownloadPRI_Low); this.m_dicAssetRequestTexture[texName] = value; } } }
private void OnDestroy() { this.RemoveSpriteRef(this.m_atlasNameCached, this.m_spriteNameCached); if (this.m_assetRequestAtlasOld != null) { this.m_assetRequestAtlasOld.Dispose(); this.m_assetRequestAtlasOld = null; } if (this.m_assetRequestAtlas != null) { this.m_assetRequestAtlas.Dispose(); this.m_assetRequestAtlas = null; } }
/// <summary> /// 加载完资源之后回调,主要是添加格子的贴图 /// </summary> /// <param name="assetRequest"></param> public void LoadFinishedEventHandler(IAssetRequest assetRequest) { IAssetResource assetResource = assetRequest.AssetResource; if (assetResource != null) { UnityEngine.Object mainAsset = assetResource.MainAsset; Texture texture = mainAsset as Texture; if (texture != null) { base.renderer.material.mainTexture = texture; } } }
/// <summary> /// 加载音效回调 /// </summary> /// <param name="assetRequest"></param> private void OnLoadOneShotAudioFinished(IAssetRequest assetRequest) { if (assetRequest != null && assetRequest.AssetResource != null) { if (!this.IsStopped) { this.m_audioSource = this.m_hostObject.AddComponent <AudioSource>(); this.m_audioSource.clip = (assetRequest.AssetResource.MainAsset as AudioClip); this.m_audioSource.volume = this.m_audioVolume; this.m_audioSource.Play(); UnityGameEntry.Instance.StartCoroutine(this.AutoDistroyOneShotAudio()); } } }
private void OnLoadCursorTextureFinished(IAssetRequest assetRequest) { IAssetResource assetResource = assetRequest.AssetResource; if (null != assetResource) { UnityEngine.Object mainAsset = assetResource.MainAsset; Texture2D texture2D = mainAsset as Texture2D; if (!(null == texture2D)) { string key = assetRequest.Data as string; this.m_dicCursorTexture[key] = texture2D; this.RefreshCursor(); } } }
/// <summary> /// 加载图集完成之后,初始化精灵,并显示 /// </summary> /// <param name="obj"></param> private void OnLoadAtlasFinished(IAssetRequest assetRequest) { if (assetRequest.AssetResource == null || assetRequest.AssetResource.MainAsset == null) { return; } GameObject gameObject = assetRequest.AssetResource.MainAsset as GameObject; UIAtlas component = gameObject.GetComponent <UIAtlas>(); if (null == component) { this.m_log.Error(string.Format("null == atlas:{0}", assetRequest.AssetResource.URL)); return; } this.OnPrepareAtlas(assetRequest.AssetResource.URL, string.Empty, component); }
/// <summary> /// 停止播放音乐 /// </summary> public void StopMusic() { if (null == this.m_curMusicAudioSource) { this.m_log.Error("null == AudioSource"); } else { this.m_curMusicAudioSource.Stop(); this.m_curMusicAudioSource.clip = null; if (null != this.m_assetRequestMusic) { this.m_assetRequestMusic.Dispose(); this.m_assetRequestMusic = null; } } }
public void SetHexagons(List <CVector3> listHexagon, string strTextureFile = null) { if (!this.m_bPrepared) { this.m_listHexagonCached = listHexagon; this.m_strTextureFileCached = strTextureFile; } else { this.m_listVertex.Clear(); this.m_listVertexIndex.Clear(); this.m_listUV.Clear(); if (listHexagon != null && this.m_MeshFilter != null) { this.m_MeshFilter.mesh.Clear(); if (!string.IsNullOrEmpty(strTextureFile)) { //如果已经完成下载的列表不包括贴图,就下载然后存到缓存 if (!this.m_dicTextureAssetRequest.ContainsKey(strTextureFile) || !this.m_dicTextureAssetRequest[strTextureFile].IsFinished) { IAssetRequest value = ResourceManager.singleton.LoadTexture(strTextureFile, new AssetRequestFinishedEventHandler(this.LoadFinishedEventHandler), AssetPRI.DownloadPRI_Plain); this.m_dicTextureAssetRequest[strTextureFile] = value; } else { this.LoadFinishedEventHandler(this.m_dicTextureAssetRequest[strTextureFile]); } } foreach (CVector3 current in listHexagon) { Hexagon.FillHexagon(current.nRow, current.nCol, this.m_fY, ref this.m_listVertex, ref this.m_listVertexIndex, ref this.m_listUV); } //重新绘画计算mesh this.m_MeshFilter.mesh.vertices = this.m_listVertex.ToArray(); this.m_MeshFilter.mesh.uv = this.m_listUV.ToArray(); this.m_MeshFilter.mesh.triangles = this.m_listVertexIndex.ToArray(); this.m_MeshFilter.mesh.RecalculateNormals(); if (this.m_MeshCollider != null) { this.m_MeshCollider.sharedMesh = null; this.m_MeshCollider.sharedMesh = this.m_MeshFilter.mesh;//重新修改meshcollider } } } }
private void OnLoadCursorTextureFinished(IAssetRequest assetRequest) { IAssetResource assetResource = assetRequest.AssetResource; if (assetResource == null) { return; } UnityEngine.Object mainAsset = assetResource.MainAsset; Texture2D texture2D = mainAsset as Texture2D; if (null == texture2D) { return; } Cursor.SetCursor(texture2D, this.m_vec2HotSpot, CursorMode.ForceSoftware); this.m_dicCursorTexture[this.m_strCursorTextureFile] = texture2D; }
private void SetCursor(string strTextureFile, Vector2 hotspot, CursorMode cursorMode) { Texture2D texture = null; if (this.m_dicCursorTexture.TryGetValue(strTextureFile, out texture)) { Cursor.SetCursor(texture, hotspot, cursorMode); } else { if (!this.m_setLoadingTexture.Contains(strTextureFile)) { this.m_setLoadingTexture.Add(strTextureFile); IAssetRequest assetRequest = ResourceManager.singleton.LoadTexture(strTextureFile, new AssetRequestFinishedEventHandler(this.OnLoadCursorTextureFinished), AssetPRI.DownloadPRI_High); assetRequest.Data = strTextureFile; } } }
public IAssetRequest CreateAssetRequest(string strCompleteUrl, AssetRequestFinishedEventHandler callBackFun) { if (this.m_resourceManager == null) { Debug.LogError("null == m_resourceManager"); return(null); } IAssetRequest result = null; try { result = this.m_resourceManager.CreateAssetRequest(strCompleteUrl, callBackFun); } catch (Exception ex) { Debug.LogException(ex); } return(result); }
/// <summary> /// 加载UI资源 /// </summary> public void Load() { try { if (!this.m_bLoaded) { this.m_bLoaded = true; string text = string.Format("ui/{0}/{0}", this.fileName); if (this.IsBundle) { this.m_assetRequest = ResourceManager.singleton.LoadUI(text, new AssetRequestFinishedEventHandler(this.OnLoadUIFinishedEventHandler), AssetPRI.DownloadPRI_Plain); } else { GameObject gameObject = Resources.Load(text) as GameObject; GameObject gameObject2; if (null != gameObject) { gameObject2 = (Object.Instantiate(gameObject) as GameObject); } else { gameObject2 = new GameObject(this.fileName); this.m_log.Fatal(string.Format("null == assetResource: {0}", this.fileName)); } if (null != gameObject2) { gameObject2.name = this.fileName; gameObject2.transform.parent = UIManager.singleton.UIRoot; gameObject2.transform.localPosition = new Vector3(-0.5f, 0.5f, 0f); gameObject2.transform.localScale = new Vector3(1f, 1f, 1f); TUIBehaviour tUIBehaviour = gameObject2.AddComponent <TUIBehaviour>(); tUIBehaviour.ParentDlg = this; this._Init(tUIBehaviour); } } } } catch (Exception ex) { this.m_log.Fatal(ex.ToString()); } }
public IAssetRequest LoadEffect(string relativeUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType) { if (this.m_resourceManager == null) { AssetLogger.Error("null == m_resourceManager"); return(null); } IAssetRequest result = null; try { result = this.m_resourceManager.LoadEffect(relativeUrl, callBackFun, assetPRIType); } catch (Exception ex) { AssetLogger.Fatal(ex.ToString()); } return(result); }
public IAssetRequest CreateAssetRequest(string strCompleteUrl, AssetRequestFinishedEventHandler callBackFun, AssetPRI assetPRIType, EnumAssetType eAssetType) { if (this.m_resourceManager == null) { AssetLogger.Error("null == m_resourceManager"); return(null); } IAssetRequest result = null; try { result = this.m_resourceManager.CreateAssetRequest(strCompleteUrl, callBackFun, assetPRIType, eAssetType); } catch (Exception ex) { AssetLogger.Fatal(ex.ToString()); } return(result); }
private void EnterScene(string strSceneName) { this.m_log.Debug("EnterScene:" + strSceneName); if (Application.loadedLevelName.Equals(strSceneName)) { this.m_log.Error(string.Format("Application.loadedLevelName.Equals(strSceneName) == true:{0}", strSceneName)); } else { if (!CommonDefine.IsMobilePlatform) { UnityGameEntry.Instance.StartCoroutine(this.loadScene(strSceneName)); } else { IAssetRequest assetRequest = ResourceManager.singleton.LoadScene("scenes/" + strSceneName, new AssetRequestFinishedEventHandler(this.OnLoadSceneAssetFinished), AssetPRI.DownloadPRI_Superlative); } } }