Unity SerializedProperty

using System;
using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(WeaponTest))]
public class WeaponEditor : Editor
{
    
    
    public override void OnInspectorGUI()
    {
    
    
        base.OnInspectorGUI();
        SerializedProperty etValue = serializedObject.FindProperty("et");
        EditorGUILayout.PropertyField(etValue.FindPropertyRelative("a"));
    }
}

SerializedProperty 就是属性 不过是序列化后的
在CustomEditor里 想得到显示的属性 需要用 serializedObject 属性去获得
用 serializedObject.FindProperty(“et”) 获得WeaponTest里的属性值
如果你不希望显示旧的 而是希望自己来决定显示什么属性
那么就把 base.OnInspectorGUI(); 注释掉就可以了
EditorGUILayout.PropertyField 就是显示需要的属性

猜你喜欢

转载自blog.csdn.net/qq_38913715/article/details/124670803
今日推荐