Xlua---Lua访问C#扩展方法
程序员文章站
2022-04-06 13:15:04
背景自己也是xlua新手,刚开始不知道如何从lua访问c#方法,然后google后,也是很普通需要在扩展类加上[XLua.LuaCallCSharp],自己的确也是加了,但是在unity运行的时候还是不行,报nil解决方式经过一番尝试后,发现如果lua需要访问C#扩展方法,需要先清空代码,然后再重新生成,有更好的方式,欢迎留言交流代码示例C#[XLua.LuaCallCSharp]public static class EngineExt{ static public Vecto...
背景
自己也是xlua新手,刚开始不知道如何从lua访问c#方法,然后google后,也是很普通需要在扩展类加上
[XLua.LuaCallCSharp],自己的确也是加了,但是在unity运行的时候还是不行,报nil
解决方式
经过一番尝试后,发现如果lua需要访问C#扩展方法,需要先清空代码,然后再重新生成,有更好的方式,欢迎留言交流
代码示例
C#
[XLua.LuaCallCSharp]
public static class EngineExt
{
static public Vector3 ScreenToWorldPoint(this RectTransform trans, Vector2 screenPoint, Camera cam = null)
{
if (cam == null)
{
var cvs = trans.gameObject.GetUICanvas();
if (cvs != null)
{
cam = cvs.worldCamera;
}
}
Vector3 worldPos;
RectTransformUtility.ScreenPointToWorldPointInRectangle(trans, screenPoint, cam, out worldPos);
return worldPos;
}
}
Lua
local worldPos = this.heroObjTempl.RectTransform:ScreenToWorldPoint(scrnPos, nil)
说了这么多,还不是钱的问题!!
跪求打赏
本文地址:https://blog.csdn.net/caiqimin__/article/details/107335015