可以使用 EditorGUILayout.BeginVerticalEditorGUILayout.EndVertical 来包裹一些自定义的 toggle 和 text,这样可以创建一个自适应的区域框。具体实现方式如下:

using UnityEngine;
using UnityEditor;

public class CustomEditorWindow : EditorWindow
{
    private bool toggle1;
    private bool toggle2;
    private bool toggle3;

    [MenuItem("Window/CustomEditorWindow")]
    public static void ShowWindow()
    {
        EditorWindow.GetWindow<CustomEditorWindow>("Custom Editor Window");
    }

    private void OnGUI()
    {
        // 开始一个垂直布局组
        EditorGUILayout.BeginVertical(GUI.skin.box);

        // 绘制一个文本标签
        GUILayout.Label("Custom Toggle Group");

        // 绘制三个自定义的 toggle
        toggle1 = EditorGUILayout.ToggleLeft("Toggle 1", toggle1);
        toggle2 = EditorGUILayout.ToggleLeft("Toggle 2", toggle2);
        toggle3 = EditorGUILayout.ToggleLeft("Toggle 3", toggle3);

        // 结束垂直布局组
        EditorGUILayout.EndVertical();
    }
}

在这个示例中,我们使用 EditorGUILayout.BeginVerticalEditorGUILayout.EndVertical 来创建一个垂直布局组,然后在该组内添加了一些自定义的 toggle 和文本标签。由于使用了垂直布局组,该区域框的位置和大小会根据内部内容进行自适应。

Unity Editor GUI 自适应区域框:包裹自定义 Toggle 和 Text

原文地址: https://www.cveoy.top/t/topic/oM3K 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录