Version: 2017.3
public static bool Foldout (Rect position, bool foldout, string content, GUIStyle style= EditorStyles.foldout);
public static bool Foldout (Rect position, bool foldout, string content, bool toggleOnLabelClick, GUIStyle style= EditorStyles.foldout);
public static bool Foldout (Rect position, bool foldout, GUIContent content, GUIStyle style= EditorStyles.foldout);
public static bool Foldout (Rect position, bool foldout, GUIContent content, bool toggleOnLabelClick, GUIStyle style= EditorStyles.foldout);

Parameters

position @param position Прямоугольник на экране, используемый для стрелки и текста.
foldout @param foldout Отображаемое состояние (раскрыт или нет).
content @param content Текст для отображения.
style @param style Необязательный стиль GUIStyle.
toggleOnLabelClick @param toggleOnLabelClick Должен ли текст быть кликабельной частью контрола?

Returns

bool Состояние, выбранное пользователем. Если true, вы должны отрисовать дочерние элементы.

Description

Создаёт текст с раскрывающейся стрелкой слева.

Это удобно для создания структур наподобие дерева или папок, где дочерние элементы отображаются, только если раскрыт родительский элемент.


Foldout in an Editor Window.

using UnityEditor;
using UnityEngine;
using System.Collections;

// 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. public class EditorGUIFoldout : EditorWindow { public bool showPosition = true; public string status = "Select a GameObject"; [MenuItem("Examples/Foldout Usage")] static void Init() { UnityEditor.EditorWindow window = GetWindow(typeof(EditorGUIFoldout)); window.position = new Rect(0, 0, 150, 60); window.Show(); }

void OnGUI() { showPosition = EditorGUI.Foldout(new Rect(3, 3, position.width - 6, 15), showPosition, status); if (showPosition) if (Selection.activeTransform) { Selection.activeTransform.position = EditorGUI.Vector3Field(new Rect(3, 25, position.width - 6, 40), "Position", Selection.activeTransform.position); status = Selection.activeTransform.name; }

if (!Selection.activeTransform) { status = "Select a GameObject"; showPosition = false; } }

void OnInspectorUpdate() { Repaint(); } }