Unity C# 枚举,不支持的类型错误
本文关键字:类型 错误 不支持 枚举 Unity | 更新日期: 2023-09-27 18:32:50
在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# 仅支持整型?
使用此代码没有问题吗?
问题是 Unity 的枚举序列化程序仅需要 32 位值。一些可能的解决方法:
-
使用 [非序列化] 属性。
-
将值存储在基础类型中(示例中为 long)。
就像之前提到的,Unity 的枚举序列化程序只需要 32 位值。
类似的团结论坛建议改用ulong。