Unity SLua 如何调用Unity中C#方法
发表于:2024-11-15 作者:千家信息网编辑
千家信息网最后更新 2024年11月15日,1.原理就是通常在Lua框架中所说的,开放一个C#的web接口,或者叫做在Slua框架中注册函数。2.作用在Lua中调用C#中的方法,这个是在做热更新中很常用的一种方法,无论是slua,还是lua,都
千家信息网最后更新 2024年11月15日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安全错误
数据库的锁怎样保障安全
智慧旅游软件开发资质
图数据库的相关概念
服务器的管理线
代理中国服务器
软件开发模式转型方向
网络安全法 非法营运
上海网络安全防护报名费
网络安全流量处理分析
软件开发技术清单
当今对网络安全的看法论文
网络安全巡查员会自爆身份嘛
数据库er图建模
甘肃网站建设服务器
网络安全 四个坚持
软件开发设计用到的专业术语
阿里云服务器 ecs
世界网易版有加模组的服务器
软件开发可以用哪些编程语言
教学软件开发的目的和任务
建站之星数据库
联想服务器id锁定
查看oracle数据库名称
网络安全机构设置和人员配备
美国 网络安全威胁
石景山区品牌软件开发供应
网络安全法一共
杭州来浙投互联网科技
湖州正规软件开发
麒麟数据库查询语句
mysql 系统数据库