在自定义检查器中hideininspector时,无法查看列表的子项

时间:2017-11-24 09:22:37

标签: c# unity3d inspector

我在Unity中有一个小问题,所以我制作了一个List和一个bool

我编写了脚本,以便在按下bool时,列表显示为

在这里,您可以看到我可以毫无问题地打开列表并查看内容

但是,我希望原件不显示,所以我添加[HideInInspector]

但是现在当我按下bool时,它显示列表,但是,我无法查看或编辑列表内容

如何解决这个问题? 谢谢!
P.S:这是我的代码

public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
        QuizManager myScript = target as QuizManager;
        if (myScript.ShowList) {
            var property = serializedObject.FindProperty("AList");

            serializedObject.Update();

            EditorGUILayout.PropertyField(property,true);
        }
    }

1 个答案:

答案 0 :(得分:1)

我认为您的问题与使用[HideInInspector]有关。我可以为您的麻烦建议几种可能的解决方案:

  1. 请勿尝试使用[HideInInspector]并从代码中删除DrawDefaultInspector()。只需为您班级中的所有属性设置EditorGUILayout.PropertyField(),然后您就可以根据需要添加此bool变量。
  2. 尝试使用技术,描述here
  3. 尝试使用CustomPropertyDrawer,您可以获取有关herehere
  4. 的官方信息