在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'用于字段&blrah blrah'在课堂'角色'
Unity C#仅支持int类型?
使用此代码没问题吗?
答案 0 :(得分:0)
问题是Unity的枚举序列化器expects a 32bit value only。 一些可能的解决方法:
使用[NonSerialized]属性。
以基础类型(在您的示例中为长)存储值。
答案 1 :(得分:-2)
就像之前提到的,Unity 的枚举序列化器只需要 32 位值。