Ulua调用C#枚举
小主也是刚做变成没有多久的人,也是刚开始写文章,如果写的不好的话希望大家给我指出,能共同探讨问题,今天讲一下lua中调用C#的枚举类型吧,我之前也在网上看了很多的文章,但是大家只是把luaframework中的代码进行了一遍赋值,并没有真正的讲解,也没有总结用法,所以今天主要说一下这个地方吧。还有一个问题,如果你们所做的项目是单纯lua也可以直接定义一个表(表中的数据相当于枚举值)给定义的变量去赋值表中数据模拟枚举,如果你们所做的项目中只是用到了lua,FSM状态机等带有枚举类型的架构在C#中,那么还是用需要下面的方法
框架其余的东西就讲了,直接去GitHub上去搜LuaFramework排行榜第一那个就是,文档都有自行查看
首先我们定义一个C#的脚本和一个枚举类型
注意一点:这里定义的枚举变量我用的Static为了CustomSetting.cs添加方便直接这样写
然后我们需要将创建的脚本和枚举都添加到CustomSetting.cs脚本中
添加完之后我们就可以从lua中调用
结果图如下
总结:
调用C#枚举有三个方法(luaframework运行库自带)
一、枚举变量:ToInt() 将枚举变量转化成整型
二、枚举.IntToEnum() 将枚举类型转化成枚举值
三、枚举变量:Euqals(枚举类型) 将当前枚举变量的值和参数进行比较如果一样就是true,否则为false
这里要注意一点,原luaframework中的讲解是参数为int类型的整数,测试发现参数为整型的话报错,所以这个地方的参数是枚举类型而不是整型
今天分享就到这里,有疑问的话可以继续追问,最近有时间看到了可以帮你们解答一下,小主确实是个菜鸟,如果有讲的不谨慎的地方希望可以点出来,谢谢大家,如果有转的话添加注释转自XXX 谢谢