EditorGUIUtility.GetFlowLayoutedRects
Declaration
public static List<Rect> GetFlowLayoutedRects(Rect rect, GUIStyle style, float horizontalSpacing, float verticalSpacing, List<string> items);Параметры
| Параметр | Описание |
|---|---|
| прямой | Область, в которой будут размещены элементы. |
| стиль | Стиль для элементов. |
| horizontalSpacing | Дополнительные горизонтальные интервалы между последовательными пунктами. |
| verticalSpacing | Дополнительные вертикальные промежутки между строками элементов. |
| пункты | Струны для макета. |
Возвращаемое значение
List<Rect> Список прямоугольников для прошедших элементов.
Описание
Список строк, расположенных слева направо, сверху вниз в заданной области.
Пример расположения кнопок с GetFlowLayoutedRects.
using UnityEngine; using UnityEditor; using System.Collections.Generic;
public class MyWindow : EditorWindow { [MenuItem("Window/My Window")] static void OpenMyWindow() { EditorWindow.GetWindow<MyWindow>(true); }
void OnGUI() { // area to layout our items in var rect = new Rect(10, 10, position.width - 20, position.height - 20); // items to layout var items = new List<string> { "One button", "Another button", "Yet another", "Hey there's more", "More!" }; // get resulting rectangles of items var style = EditorStyles.miniButton; var boxes = EditorGUIUtility.GetFlowLayoutedRects(rect, style, 4, 4, items); // do actual UI for them for (var i = 0; i < boxes.Count; ++i) { GUI.Button(boxes[i], items[i], style); } } }