关闭

Unity 查看所有GUI默认样式

标签: unity编辑器
6860人阅读 评论(4) 收藏 举报
分类:
使用默认的一些GUI样式,可以让编辑器扩展外观更佳。Unity自带有很多样式,当要使用这些样式时,只要指定其样式名即可。
所有的样式名称,可以写个脚本遍历出来,另外可以将其样式效果也一并展现出来。这一点已经有插件实现了,即:Editor Style Viewer(https://www.assetstore.unity3d.com/en/#!/content/3282

查看器代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
using UnityEngine;
using UnityEditor;

public class EditorStyleViewer : EditorWindow
{
    private Vector2 scrollPosition = Vector2.zero;
    private string search = string.Empty;

    [MenuItem("Tools/GUI样式查看器")]
    public static void Init()
    {
        EditorWindow.GetWindow(typeof(EditorStyleViewer));
    }

    void OnGUI()
    {
        GUILayout.BeginHorizontal("HelpBox");
        GUILayout.Label("单击示例将复制其名到剪贴板""label");
        GUILayout.FlexibleSpace();
        GUILayout.Label("查找:");
        search = EditorGUILayout.TextField(search);
        GUILayout.EndHorizontal();

        scrollPosition = GUILayout.BeginScrollView(scrollPosition);

        foreach (GUIStyle style in GUI.skin)
        {
            if (style.name.ToLower().Contains(search.ToLower()))
            {
                GUILayout.BeginHorizontal("PopupCurveSwatchBackground");
                GUILayout.Space(7);
                if (GUILayout.Button(style.name, style))
                {
                    EditorGUIUtility.systemCopyBuffer = "\"" + style.name + "\"";
                }
                GUILayout.FlexibleSpace();
                EditorGUILayout.SelectableLabel("\"" + style.name + "\"");
                GUILayout.EndHorizontal();
                GUILayout.Space(11);
            }
        }

        GUILayout.EndScrollView();
    }
}

效果图如下:


右上角可以进行搜索,单击每个样式的左侧效果时,可以复制其样式名到剪贴板。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3444148次
    • 积分:35517
    • 等级:
    • 排名:第138名
    • 原创:399篇
    • 转载:88篇
    • 译文:5篇
    • 评论:3418条
    个人说明
    联系方式:
    文章存档
    最新评论