Unity3d Can';t在Unity Inspector上绘制可序列化类
这是我的示例类和MonoBehavior脚本:Unity3d Can';t在Unity Inspector上绘制可序列化类,unity3d,drawing,editor,serializable,inspector,Unity3d,Drawing,Editor,Serializable,Inspector,这是我的示例类和MonoBehavior脚本: using UnityEngine; using System; [Serializable] public class TestSerializableClass { public int a; public string b; } public class TestScript : MonoBehaviour { public TestSerializableClass field1; [HideInInsp
using UnityEngine;
using System;
[Serializable]
public class TestSerializableClass
{
public int a;
public string b;
}
public class TestScript : MonoBehaviour
{
public TestSerializableClass field1;
[HideInInspector] public TestSerializableClass field2;
}
这是MonoBehavior脚本的编辑器脚本
using UnityEditor;
[CustomEditor(typeof(TestScript))]
public class TestScriptEditor : Editor
{
SerializedProperty testClass;
public override void OnInspectorGUI()
{
DrawDefaultInspector();
SerializedProperty testField = serializedObject.FindProperty("field2");
EditorGUILayout.PropertyField(testField, true);
}
}
为什么它不像第一个那样画“field2”变量
我可以用编辑器脚本和属性字段来完成吗?怎么做
(includeChildre标志为true)从字段2中删除HIDEININSECTT属性谢谢!这就是问题所在!您不能使用DrawDefaultInspector()自己绘制隐藏字段。你需要画所有的东西或者什么都不画。