Unity 自定义Inspector属性显示

1.一个组件可调整的属性比较多,但是属性之间又有一定的联系,如何自定显示属性

2.代码如下

using UnityEditor;
using LuaFramework;

[CustomEditor(typeof(AppConst))]
public class AppConstInspector : Editor
{
    
    
    private SerializedObject obj;
    private AppConst appConst;

    #region 显示属性
    private SerializedProperty DebugMode;
    private SerializedProperty UpdateMode;
    private SerializedProperty LuaBundleMode;
    private SerializedProperty IsOpenSubcontractUpdate; 
    #endregion

    private void OnEnable()
    {
    
    
        obj = new SerializedObject(target);

        DebugMode = obj.FindProperty("DebugMode");
        UpdateMode = obj.FindProperty("UpdateMode");
        LuaBundleMode = obj.FindProperty("LuaBundleMode");
        IsOpenSubcontractUpdate = obj.FindProperty("IsOpenSubcontractUpdate");
    }

    public override void OnInspectorGUI()
    {
    
    
        //base.OnInspectorGUI();
        appConst = (AppConst)target;
        EditorGUILayout.PropertyField(DebugMode);
        if (appConst.DebugMode == false)
        {
    
    
            EditorGUILayout.PropertyField(UpdateMode);
            EditorGUILayout.PropertyField(IsOpenSubcontractUpdate);
        }
        EditorGUILayout.PropertyField(LuaBundleMode);
        obj.ApplyModifiedProperties();
    }
}

3.效果

1
2

猜你喜欢

转载自blog.csdn.net/baidu_39447417/article/details/103779457