Version: 2022.3
LanguageEnglish
  • C#

SerializedProperty.NextVisible

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Declaration

public bool NextVisible(bool enterChildren);

Description

Move to next visible property.

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