EditorGUILayout.Foldout
Declaration
public static bool Foldout(bool foldout, string content, bool toggleOnLabelClick, GUIStyle style = EditorStyles.foldout);public static bool Foldout(bool foldout, GUIContent content, bool toggleOnLabelClick, GUIStyle style = EditorStyles.foldout);public static bool Foldout(bool foldout, string content, GUIStyle style = EditorStyles.foldout);public static bool Foldout(bool foldout, GUIContent content, GUIStyle style = EditorStyles.foldout);Параметры
| Параметр | Описание |
|---|---|
| развернуть | Отображаемое состояние развёрнутости. |
| содержание | Отображаемая метка. |
| стиль | Факультативно GUIStyle. |
| toggleOnLabelClick | Указывает, будет ли щелчок по метке переключать состояние развёрнутости. Значение по умолчанию — false. Установите true, чтобы включить метку в область щелчка. |
Возвращаемое значение
логическое Состояние развёрнутости, выбранное пользователем. Если true, вам следует показывать подобъекты.
Описание
Сделайте метку со стрелкой, расположенной слева от нее.
Это полезно для создания дерева или структуры папки, где дочерние объекты отображаются только при развернутом родительском объекте.
Развертывание в окне редактора.
// Create a foldable menu that hides/shows the selected transform position. // If no Transform is selected, the Foldout item will be folded until // a transform is selected.
using UnityEditor; using UnityEngine;
public class FoldoutUsage : EditorWindow { bool showPosition = true; string status = "Select a GameObject";
[MenuItem("Examples/Foldout Usage")] static void Init() { FoldoutUsage window = (FoldoutUsage)GetWindow(typeof(FoldoutUsage)); window.Show(); }
public void OnGUI() { showPosition = EditorGUILayout.Foldout(showPosition, status); if (showPosition) if (Selection.activeTransform) { Selection.activeTransform.position = EditorGUILayout.Vector3Field("Position", Selection.activeTransform.position); status = Selection.activeTransform.name; }
if (!Selection.activeTransform) { status = "Select a GameObject"; showPosition = false; } }
public void OnInspectorUpdate() { this.Repaint(); } }