UH2S2L12——Lua调用枚举

本章代码关键字

1
枚举.__CastFrom()    --数值或字符串转对应枚举函数

调用枚举

枚举的调用规则 和 类的调用规则是一样的,相对于类来说,枚举不存在实例化操作
使用 CS.命名空间.枚举名.枚举成员​即可调用,也支持取别名

1
2
3
PrimitiveType = CS.UnityEngine.PrimitiveType
GameObject = CS.UnityEngine.GameObject
local obj = GameObject.CreatePrimitive(PrimitiveType.Cube)

调用自定义声明的枚举也很简单,和调用自带枚举一样调用即可CS.命名空间.枚举名.枚举成员​(注意命名空间)

1
2
3
4
5
6
public enum E_MyEnum
{
Idle,
Move,
Atk,
}
1
2
3
E_MyEnum = CS.E_MyEnum
local c = E_MyEnum.Idle
print(c)

image

枚举转换相关

数值或者字符串转枚举只需要调用其__CastFrom​方法即可

1
2
3
4
5
6
-- 数值转枚举
local a = E_MyEnum.__CastFrom(1)
print(a)
-- 字符串转枚举
local b = E_MyEnum.__CastFrom("Atk")
print(b)

image