Unity SLua 如何调用Unity中C#方法
发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,1.原理就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数。2.作用在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都
千家信息网最后更新 2025年02月08日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安全错误
数据库的锁怎样保障安全
linux数据库教学
广州千羽网络技术有限公司
db2数据库重组
惠普服务器安装raid
苏州应用软件开发机构
正版服务器安全狗多少钱
英国情报网络安全
快播服务器软件
中国网络安全事件案例和解决方案
数据库改为暂估方式
嘉定区网络技术服务共同合作
永劫无间哪个服务器打折
阿里云服务器视频监控存储
app软件开发报价工时多少
现代网络技术对服务业的影响
云服务器ecs 备份
服务器一般设置多少位
海康储存服务器如何更换硬盘
天津云主机品牌云服务器
潮州网络安全周
人渣两人联机租服务器多少钱
女生学云计算还是网络安全
网络安全行业税率
x86服务器中国市场占有率
数据库技术三级报考
成都有梦互娱软件开发公司
技侦支队网络安全专班
java软件开发看准网
一个机架大概有多少服务器
网络技术基础题库及答案