UIPackage.AddPackage自定义加载问题
byte[] desc = LoadByteByIO(packName + ".fui.bytes");
FairyGUI.UIPackage.AddPackage(desc, string.Empty, (string name, string extension, System.Type type) =>
{
if (extension == ".bytes")
{
return new TextAsset(Encoding.UTF8.GetString(LoadByteByIO(name + extension)));
}
else if (extension == ".png")
{
return LoadTexture2DByIO(packName + "_" + name + extension);
}
return null;
});
//在NTexture的Unload方法卸载的时候
//destroyMethod=DestroyMethod.Unload
//会走Resources.UnloadAsset(_nativeTexture);
//但是由于这个不是由AssetDatabase或者Resources加载的,所以会报错
UnloadAsset can only be used on assets;
UnityEngine.Resources:UnloadAsset(Object)
FairyGUI.NTexture:Unload(Boolean) (at Assets/Game/Scripts/FairyGUI/Core/NTexture.cs:278)
FairyGUI.NTexture:Unload() (at Assets/Game/Scripts/FairyGUI/Core/NTexture.cs:252)
FairyGUI.UIPackage:Dispose() (at Assets/Game/Scripts/FairyGUI/UI/UIPackage.cs:827)
FairyGUI.UIPackage:RemovePackage(String) (at Assets/Game/Scripts/FairyGUI/UI/UIPackage.cs:298)
FairyGUI_UIPackageWrap:RemovePackage(IntPtr) (at Assets/Source/Generate/FairyGUI_UIPackageWrap.cs:175)
这个用法主要是想用WindowsPlayer来方便测试开发(不用打AssetBundle), 谷主可以适配一下吗
没有找到相关结果
已邀请:
6 个回复
谷主
赞同来自: lanr
谷主
赞同来自:
lanr
赞同来自:
使用这种模式是让WindowsPlayer平台可以直接加载.bytes和.png文件, 而不用打包成assetBundle或者重新导出资源
谷主
赞同来自:
lanr
赞同来自:
Assets\
Resources\
ui\
xxproj_win\
xxproj_win.exe
直接在xxproj_win.exe加载xxproj/Assets/Resources/ui的资源
用Object.DestroyImmediate?
lanr
赞同来自: