Version: 2022.3
public bool NextVisible (bool enterChildren);

描述

移至下一个可见属性。

using System;
using System.Text;
using UnityEngine;
using UnityEditor;

public class SerializePropertyNextVisible : ScriptableObject { public bool m_SeeMe1;

[HideInInspector] public bool m_HideMe1;

[SerializeField] private bool m_SeeMe2;

[HideInInspector] public bool m_HideMe2;

[MenuItem("Example/SerializedProperty NextVisible Example")] static void TestNextOnCyclicGraph() { var scriptableObject = ScriptableObject.CreateInstance<SerializePropertyNextVisible>(); using (var serializedObject = new SerializedObject(scriptableObject)) { var serializedProperty = serializedObject.GetIterator();

var sb = new StringBuilder(); sb.AppendLine("Visible Properties:");

// Move from the root to the first visible property bool visitChild = true; serializedProperty.NextVisible(visitChild);

// Rest of scan stays at same level visitChild = false; do { // Note: some properties from the supporting Unity base objects are exposed // (and visible in the inspector), for example "m_Script". sb.AppendLine(serializedProperty.name); } while (serializedProperty.NextVisible(visitChild));

/*Expected output m_Script m_SeeMe1 m_SeeMe2 */ Debug.Log(sb.ToString()); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961