XLua——生成Wrap文件报错解决方案和注意事项

 

目录

一、将报错的类从白名单去除

二、将报错的类的成员(指方法、字段或属性)写入黑名单

三、特殊Wrap(泛型相关)的报错(留坑)

四、注意事项


一、将报错的类从白名单去除

找到配置白名单列表生成wrap的脚本,如下代码段为“白名单”

[LuaCallCSharp]
public static readonly List<System.Type> LuaCallCSharp = new List<System.Type>()
{
    typeof(System.Delegate),
    typeof(System.Object),
    //typeof(System.Type), //直接注释或去掉,移除掉报错的类型
}

二、将报错的类的成员(指方法、字段或属性)写入黑名单

// 黑名单
[BlackList]
public static List<List<string>> BlackList = new List<List<string>>()
{
    // 屏蔽 Editor 专用代码,以避免打包编译错误
    new List<string>() {"System.Type","IsSZArray"},
    new List<string>() {"UnityEngine.ParticleSystem", "SetParticles" },
    new List<string>() {"UnityEngine.ParticleSystem", "GetParticles" },
    new List<string>() {"UIWidget",  "showHandles"},
    new List<string>() {"UIWidget",  "showHandlesWithMoveTool"},
    new List<string>() {"UnityEngine.MonoBehaviour", "runInEditMode"},
    new List<string>() {"UnityEngine.UI.Graphic", "OnRebuildRequested"},
};

三、特殊Wrap(泛型相关)的报错(留坑)

四、注意事项

注意导入Xlua包到Unity后,在XLua文件夹下的Example文件夹要删除掉,因为这个Example文件夹内也有白名单、黑名单代码,会扰乱项目自身的白名单、黑名单,所以要删除这个Example文件夹,它里面都是一些范例,都是可以放心删除的内容。

猜你喜欢

转载自blog.csdn.net/qq_39574690/article/details/109609957
今日推荐