12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using UnityEngine;
- using FairyGUI;
- using YooAsset;
- namespace GFGGame
- {
- public class GFGGLoader : GLoader
- {
- private AssetOperationHandle handle;
- protected override void LoadExternal()
- {
- //Texture2D texture = GFGAsset.Load<Texture2D>(this.url);
- handle = YooAssets.LoadAssetAsync<Texture2D>(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();
- }
- }
- }
- }
|