| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | using UnityEngine;using FairyGUI;using YooAsset;namespace GFGGame{    public class GFGGLoader : GLoader    {        private AssetOperationHandle handle;        protected override void LoadExternal()        {            if (!YooAssets.CheckResExist(this.url))            {                return;            }            //异步            handle = YooAssets.LoadAssetAsync<Texture2D>(this.url);            handle.Completed += Handle_Completed;            //同步            //handle = YooAssets.LoadAssetSync<Texture2D>(this.url);            //Handle_Completed(handle);        }        protected override void FreeExternal(NTexture texture)        {            //释放外部载入的资源            if(handle != null)            {                handle.Release();                handle = null;            }        }        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();            }        }    }}
 |