아카이빙/Unity3D

[Unity3D] 커스텀 에디터(5) - EditorStyles

셩님 2017. 4. 14. 13:49

유니티 커스텀 에디터(5) - EditorStyles

EditorStyles를 알아보려고한다. 여러 옵션들이 많았는데 주로 Label이나 Font에 대한 옵션들이다.

toolbarButton, toolbarDropDown, toolbarPopup, toolbarTextField의 쓰임새는 아직 잘 모르겠으나 관련 예제를 찾을 수 없었고, 구글링해도 안나오는 걸 보니 그닥 쓰임새가 유용한 것 같지는 않다.

가볍게 이런게 있다 정도로만 알고 넘어가는 게 좋은듯.


예제

using UnityEngine;
using UnityEditor;

public class EditorStyleWindow : EditorWindow {

    [MenuItem("Window/Editor Styles")]
    static void Init()
    {
        EditorStyleWindow window =
          (EditorStyleWindow)EditorWindow.GetWindow(typeof(EditorStyleWindow));
        window.Show();
    }

    void OnGUI()
    {
        GUILayout.Label("Bold Label", EditorStyles.boldLabel);
        GUILayout.Label("Help Box", EditorStyles.helpBox);
        GUILayout.Label("Mini Bold Label", EditorStyles.miniBoldLabel);

        GUILayout.Button("Mini Button", EditorStyles.miniButton);
        GUILayout.Button("Mini Button Left", EditorStyles.miniButtonLeft);
        GUILayout.Button("Mini Button Mid", EditorStyles.miniButtonMid);
        GUILayout.Button("Mini Button Right", EditorStyles.miniButtonRight);

        GUILayout.Label("Mini Label", EditorStyles.miniLabel);
        GUILayout.TextField("Mini Text Field", EditorStyles.miniTextField);

        GUILayout.Label("Number Field", EditorStyles.numberField);
        GUILayout.Label("Object Field", EditorStyles.objectField);


        GUILayout.Label("Object Field Mini Thumb", EditorStyles.objectFieldMiniThumb);
        GUILayout.Space (20);
        GUILayout.Label("Object Field Thumb", EditorStyles.objectFieldThumb);

        GUILayout.Label("Popup", EditorStyles.popup);
        GUILayout.Button("Radio Button", EditorStyles.radioButton);

        GUILayout.TextArea("Text Area", EditorStyles.textArea);
        GUILayout.TextField("Text Field", EditorStyles.textField);

        GUILayout.Label("Toggle", EditorStyles.toggle);
        GUILayout.Label("Toggle Group", EditorStyles.toggleGroup);

        GUILayout.BeginHorizontal (EditorStyles.toolbar);
        GUILayout.Button("Toolbar Button", EditorStyles.toolbarButton);
        GUILayout.Button("Toolbar Drop Down", EditorStyles.toolbarDropDown);
        GUILayout.Button("Toolbar Popup", EditorStyles.toolbarPopup);
        GUILayout.TextField("Toolbar Text Field", EditorStyles.toolbarTextField);
        GUILayout.EndHorizontal ();

        GUILayout.Label("White Bold Label", EditorStyles.whiteBoldLabel);
        GUILayout.Label("White Label", EditorStyles.whiteLabel);
        GUILayout.Label("White Large Label", EditorStyles.whiteLargeLabel);
        GUILayout.Label("White Mini Label", EditorStyles.whiteMiniLabel);

        GUILayout.Label("Word Wrapped Label", EditorStyles.wordWrappedLabel);
        GUILayout.Label("Word Wrapped Mini Label", EditorStyles.wordWrappedMiniLabel);
    }
}


결과