有没有办法在检查器中只显示某些枚举值?例如,我有一个充满对象的枚举,如果我选择表,我希望第二个枚举有特定的对象id,只显示table1table2table3,而不是所有可用的对象。
public enum Objects
{
Chair,
Table,
Door
}
public enum ObjectIDs
{
Chair01,
Chair02,
Table01,
Table02,
Table03,
etc..
}
有一个非常强大的插件可以让这种事情变得非常简单。
你可以修改 此代码 做出你想要的东西。
你需要改变 EnumOrderDrawer
类,使循环不为所有的 enum
变量。
例如,修改以下代码
public const string TypeOrder = "10,1,5,2";
public enum Type
{
One = 10,
Two = 1,
Three = 5,
Four = 2,
}
[EnumOrder(TypeOrder)]
public Type type3;
.
.
.
.
for (int i=0; i<property.enumNames.Length; i++)
{
items[i] = property.enumNames[indexArray[i]];
}
到
public const int[] TypeOrder = new int[] { 10, 1, 5, 2 };
public enum Type
{
One = 10,
Two = 1,
Three = 5,
Four = 2,
}
[EnumOrder(TypeOrder)]
public Type type3;
.
.
.
.
for (int i=0; i<TypeOrder.Length; i++)
{
items[i] = property.enumNames[indexArray[i]];
}
.
.
.
.