using UnityEngine; using FairyGUI; using YooAsset; namespace GFGGame { public class GFGGLoader : GLoader { private AssetOperationHandle handle; protected override void LoadExternal() { //Texture2D texture = GFGAsset.Load(this.url); handle = YooAssets.LoadAssetAsync(this.url); handle.Completed += Handle_Completed; //if (texture != null) // onExternalLoadSuccess(new NTexture(texture)); //else // onExternalLoadFailed(); } protected override void FreeExternal(NTexture texture) { //释放外部载入的资源 //GFGAsset.Release(this.url); if(handle != null) { handle.Release(); } } void Handle_Completed(AssetOperationHandle handle) { if(handle.GetAssetInfo().AssetPath != this.url) { handle.Release(); return; } Texture2D texture = handle.AssetObject as Texture2D; if (texture != null) { onExternalLoadSuccess(new NTexture(texture)); } else { onExternalLoadFailed(); } } } }