gpt4 book ai didi

unity3d - 团结 |如何根据 Inspector 上的主枚举选择更改枚举

转载 作者:行者123 更新时间:2023-12-01 04:39:42 29 4
gpt4 key购买 nike

好吧,我在检查器上设置了这个枚举,但我想根据选择的主枚举来限制将显示哪个枚举,以避免使用与所需的枚举不同的枚举

public MainSortEnum Sort;
public SecondaryTypeEnum1 Type1;
public SecondaryTypeEnum2 Type2;
public SecondaryTypeEnum3 Type3;

和枚举
public enum MainSortEnum
{
First,
Second,
Thirth,
}
public enum SecondaryTypeEnum1
{
FirstType,
SecondType,
ThirthType,
}
public enum SecondaryTypeEnum2
{
FirstType,
SecondType,
ThirthType,
}
public enum SecondaryTypeEnum3
{
FirstType,
SecondType,
ThirthType,
}

所以我只想能够在这个脚本的检查器上根据 MainSortEnum 选择所需的枚举,这可能吗?

最佳答案

您需要创建一个 custom inspector对于这些 enums 的类(class)在。

例如,我们将调用这样一个类 MyClass :

... //other namespaces
using UnityEditor;

[CustomEditor(typeof(MyClass))]
public class MyClassEditor : Editor {
MyClass myClass;

void OnEnable() {
myClass = (MyClass)target;
}

public override void OnInspectorGUI() {
myClass.Sort = EditorGUILayout.EnumPopup("Sort", myClass.Sort);
if (myClass.Sort == MainSortEnum.First)
myClass.Type1 = EditorGUILayout.EnumPopup("Type 1", myClass.Type1);
else if (myClass.Sort == MainSortEnum.Second)
myClass.Type2 = EditorGUILayout.EnumPopup("Type 2", myClass.Type2);
else
myClass.Type3 = EditorGUILayout.EnumPopup("Type 3", myClass.Type3);
}
}

关于unity3d - 团结 |如何根据 Inspector 上的主枚举选择更改枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50940094/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com