[英]Unity C# enum, Unsupported type error
在 Unity C# 中,
此枚举代码仅在运行时在控制台上出错。
[System.Flags]
private enum ActionSet : long
{
Sit = 0x0000000000000001,
Stand = 0x0000000000000002,
Walk = 0x0000000000000004,
Sleep = 0x0000000000000008,
Run = 0x0000000000000010,
Happy = 0x0000000100000000,
Sleepy = 0x0000000200000000,
Gloomy = 0x0000000400000000
}
错误是:
不支持的枚举类型“Character.ActionSet”用于“Character”类中的字段“blrah blrah”
Unity C# 仅支持 int 类型吗?
使用此代码没有问题?
问题是 Unity 的枚举序列化程序只需要 32 位值。 一些可能的解决方法:
使用 [NonSerialized] 属性。
将值存储在基础类型中(在您的示例中为 long)。
就像之前提到的,Unity 的枚举序列化器只需要 32 位值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.