添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
善良的四季豆  ·  php mysql输入null_mysql ...·  7 月前    · 
乐观的番茄  ·  python - ...·  1 年前    · 

2、枚举和类一样,都需要将使用的枚举加入到CustomSetting文件中。使用方法也基本相同

--调用Unity自带的枚举
primitiveType = UnityEngine.PrimitiveType
GameObject = UnityEngine.GameObject
--Unity的静态类,创建一个几何体
local obj = GameObject.CreatePrimitive(primitiveType.Cube)
--调用自定义枚举
local c = E_MyEnum.Idle
--打印出来是userdate类型,保留了语言中的数据类型
print(c)
local d = E_MyEnum.Move
if c==d then
    print("枚举相同")
    print("枚举不相同")

3、枚举转换
枚举转字符串

tostring(c)

枚举转数字

c:ToInt()

数字转枚举

E_MyEnum.IntToEnum(0)

tolua没有提供字符串转枚举的方法

UnityLua传入参数问题    GameObject go = GameObject.Find("/Light"); Light light = go.GetComponent<Light>(); LuaFunction func = state.GetFunction("ChangeLightType"); 1 .tolua初始化的LuaBinder.Bind(lua);方法会把所有的 CustomSetting下的注册的 C#类 在初始化tolua时全部获取内存地址进行lua映射处理,对性能有消耗 2.目前C#一些API的参数有枚举类的话必须使用枚举类来传递不能使用int数值来传值,导致如果打包后没有注册对应枚举类,API接口无法使用 注:原因1 可以通过il2cpp方式打包解决,就不会有性能问题了,不过我们项目目前转换il2cpp会有问题 ,暂时未转换 Cust... 这一部分主要讲的是如何在lua代码中访问C#中的Dictionary对象与枚举类型,相比之之前的算是比较简单的了,基本上看一下就完全会使用了 lua访问C#中的Dictionary 首先:作者也说过,对于这个例子中的方法BindMap()方法无需可以关注,这个只是为了保证例子可以独立运行,平时的开发中只需要将需要的类型添加在在CustomSetting的列表之中即可。 在Lua中访问C#枚举对象 最近在unity中尝试LuaC#的互调(用xlua生成相关的binding代码),在Lua中访问C#侧产生的enum枚举对象时碰上个问题: 按照xlua提供的绑定接口,与用户自定义类型(class、struct)相同,lua侧现在通过生成一个userdata的方式引用C#侧的enum对象,这说明对xlua而言,C#中的enum也被视作一个class来制定binding规则。 这就导致我不能想当然地直接将C#中的某个枚举对象作为lua中的number处理,就像这样: spaceToInt if not spaceEquals0 then的问题 UnityEngineSpaceIntToEnum0这一篇文章主要是通过Example讲解ToLua枚举的用法代码using UnityEngine; using S 前言   Lua是一种面向过程的编程语言,  Lua的值类型只有nill boolean number string。 Lua的引用类型只有:function table userdata thread 。 但是Lua中的Table几乎是万能的, 我们来试一下如何用Lua实现枚举的特性和功能。实现    枚举的特性是,当里面的第一个元素初始值确定之后,后面的元素累加1,如果不...