关于Unity在Xlua调用Lua脚本函数时报错This type must add to CSharpCallLua 解决办法

这篇具有很好参考价值的文章主要介绍了关于Unity在Xlua调用Lua脚本函数时报错This type must add to CSharpCallLua 解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用委托来获取xlua中的function是不行的

报错脚本示范

 // [CSharpCallLua]
  //  public delegate void LuaBtnEvent(int index);
    
    //[CSharpCallLua]
   // public static LuaBtnEvent BtnEvent;//被LuaModer引用

// ButtonEvent.BtnEvent=luaEnv.Global.Get<ButtonEvent.LuaBtnEvent>("PlotEventBar");

即使全部接口打好标签并且在编辑器中把兼容等级改为4.X 打包出去还是会出问题

建议在lua脚本中建立一个空的table

再把方法塞进去
比如

main={}

function PlotEventBar(ID)
    if ID<11 then
        if ID==2 then
            ChangeValue("HP",10)
        end
        if ID==3 then
            if EffectFind("一个测试状态+") then
                Effect("超强的测试状态")
            else
            Effect("一个测试状态",true)
            end
        end
        if ID==4 then
            Move("Up",1)
        end
    end
    
end
main.PlotEventBar=PlotEventBar

然后在c#端

            if (PlotEvent.Plots[index].Specail)
            {
                LuaModer.luaEnv.DoString($"main.PlotEventBar({index})");
            }

就可以正常运作这个方法了文章来源地址https://www.toymoban.com/news/detail-650681.html

到了这里,关于关于Unity在Xlua调用Lua脚本函数时报错This type must add to CSharpCallLua 解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity调用其它脚本函数方法

       调用    

    2024年02月07日
    浏览(50)
  • [游戏开发][Unity] Xlua与C#互相调用规则

    静态方法无需获取类对象,获取到类直接执行 例1: 例2 调用非静态方法一定要获取到具体的C#类对象!!! 例1:获取单例对象并调用非静态方法,Singleton是单例的一种写法,网上源码很多 下面是Lua调用C#的代码,我这是模拟Xlua的工程,以类的方式实现交互 看Log日志发现:

    2024年02月07日
    浏览(75)
  • 关于yarn安装时报“node“ is incompatible with this module的解决办法

    在用vue写一个h5页面时,当在用yarn安装时,提示如下错误: The engine “node” is incompatible with this module. Expected version \\\"^14.18.0 || ^16.14.0 || =18. 我是使用命令忽略错误: 然后再安装即可以成功: 安装完之后项目可以正常启动了

    2024年02月10日
    浏览(44)
  • 利用Java代码调用Lua脚本改造分布式锁

    4.8 利用Java代码调用Lua脚本改造分布式锁 lua脚本本身并不需要大家花费太多时间去研究,只需要知道如何调用,大致是什么意思即可,所以在笔记中并不会详细的去解释这些lua表达式的含义。 我们的RedisTemplate中,可以利用execute方法去执行lua脚本,参数对应关系就如下图股

    2024年04月10日
    浏览(51)
  • Lua调用函数的方式汇总

    在Lua脚本语言中,调用函数是一种基本的操作,它允许代码执行在函数定义中封装的操作。Lua 提供了几种灵活的方式来调用函数,以适应不同的场景和需求。以下是Lua中调用函数的几种常见方式: 1. 基本函数调用 最简单的调用方式是使用函数名后跟括号,并在括号内传递参

    2024年04月28日
    浏览(33)
  • XLua中lua读写cs对象的原理

    XLua在C#维护了两个数据结构,ObjectPool和ReverseMap。 首次传递一个C#对象obj到Lua时,对象被加入到ObjectPool中,并为它创建一个唯一标识objId,建立obj和objId的双向映射。 如果该对象的类型是第一次传到Lua,还会为类型创建一个元表typeMetatable。 把typeMetatable注册到Lua的全局表中,这

    2024年02月08日
    浏览(43)
  • Redis执行lua脚本-Time函数-获取当前时间

    TIME 命令返回当前服务器的时间,包含两个条目 Unix 时间戳和这一秒已经过去的微秒数。 如果想要判断两个时间哪个最新,先去比较各自的 unix_timestamp : unix_timestamp 大的那个时间戳最新 unix_timestamp 都一样时,则判断 milliseconds , milliseconds 大的哪个时间戳最新。 如果都一样

    2024年02月11日
    浏览(46)
  • 浅谈Lua协程和函数的尾调用

    虽然不经常用到协程,但是也不能谈虎色变。同时,在有些场景,协程会起到一种不可比拟的作用。所以,了解它,对于一些功能,也会有独特的思路和想法。 概念 关于进程和线程的概念就不多说。 那么从多线程的角度来看,协程和线程有点类似:拥有自己的栈,局部变量

    2024年02月10日
    浏览(43)
  • xlua源码分析(二)lua Call C#的无wrap实现

    上一节我们主要分析了xlua中C# Call lua的实现思路,本节我们将根据Examples 03_UIEvent,分析lua Call C#的底层实现。例子场景里有一个简单的UI面板,面板中包含一个input field,一个button: 输入任意文本,点击button,就会打印出输入的内容: 响应点击事件的代码是在lua层,位于 Bu

    2024年02月05日
    浏览(36)
  • 关于openfeign调用时content-type的问题

    今天在A服务使用openfeign调用B服务的时候,发现经常会偶发性报错。错误如下: 情况为偶发,很让人头疼。 两个接口如下: A服务接口: delayReasonApi.test(student); 就是使用openfeign调用B服务的接口。 B服务接口: 因为A服务的接口是一个文件上传的接口,所以前端请求头中使用的

    2024年02月12日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包