Unity SLua 如何调用Unity中C#方法
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,1.原理就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数。2.作用在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都
千家信息网最后更新 2025年12月04日Unity SLua 如何调用Unity中C#方法
1.原理
就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数。
2.作用
在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都差不多、这里,我拿slua举例。
3.实际运用 举例:如何在Slua中打印Log
原理:其实是slua通过调用C#中的Debug.Log方法实现的打印,并不是说是lua中的打印方法起到作用。
步骤:
首先,既然是Lua调用C#中的方法,这里自定义写一个打印log的方法。
| 12345678910111213141516171819202122232425262728 | public class CDebug { /// /// lua中打印Log /// /// 标题 /// 内容 public static void Log(string title,string contents) { int level = 3; //这里代码不需要解释把,如果对颜色有需求,可以自己稍微修改一下。 switch(level) { case 1: Debug.Log(contents); break; case 2: Debug.LogWarning(title+":"+ contents); break; case 3: Debug.LogError(title + ":" + contents); break; default: Debug.Log(contents); break; } }} |
I:
注意图中 标红。一般每个lua框架中,都会有这么个注册函数,加了这个注册函数。才会,有下面那步。执行。
II:
点击 Slua->Custom->Make
之后,发现编译之后,多一个:
III:
注意:之后我们可以看到多了一个脚本,用svn版本控制,对比一下文件,其实还是有其他地方改动的。
会发现BindCustom文件中的代码变成了
| 12345678910111213 | public class BindCustom { public static Action Action Lua_CDebug.reg, //这是自动生成的,多附加的// 因为之前我们看到CustomExport脚本中的OnAddCustomClass方法中//很多方法是被注释了,所以,需要手动把之前生成过的文件加上,具体看//SVN版本控制对比一下BundCustom脚本,需要把之前生成过的代码//手动加上。//附加:这个不是什么BUG,因为别人以为所有需要在Lua中调用C#的代码都附加好了,//所以,不需要了,假如我们的项目需要上线,也需要还原Log方法,因为他会打包到//apk包中的. |
这样一个调用C#中的方法的功能做完了,其他的类似的,仿照这个例子就可以。
方法
C#
代码
函数
文件
框架
脚本
生成
作用
原理
手动
版本
还是
控制
附加
差不多
例子
内容
功能
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
创造与魔法服务器角色消失怎么办
电脑服务器管理面板
网络安全威胁有几种
dnf服务器账号消失
为什么sky登录服务器连接失败
西安白狐网络网络技术有限公司
交通系统数据库
配套软件开发票单位怎么填
mysql数据库变量
服务器管理口DHCP配置
网络安全保护达到的目标
icgc数据库
网络安全传标语
迁西网络营销软件开发创造辉煌
军营网络安全知识竞赛
微信小程序使用数据库
广西南宁雄翼网络技术
汕头点餐软件开发
中国典型城市数据库
应用服务器管理技术的作用
我的世界clay粘土服务器陨落
msn 邮箱服务器
无线网络技术 书本答案
手机评测数据库小程序
软件开发大学生培训班
网络安全风险评估相关探讨
无锡有哪些好得软件开发学校
黑龙江服务器电源公司有哪些
服务器带宽被占满
数据库的规模和条数