인라인 방식으로 스타일 설정하기
GUI.___프로퍼티 값들을 수정하고 돌려놓기
1
2
3
4
5
6
7
8
// OnInspectorGUI
var oldBgColor = GUI.backgroundColor;
GUI.backgroundColor = Color.red;
// <- Draw GUIs
GUI.backgroundColor = oldBgColor;
GUIStyle 객체 이용하기
- 
    
GUI 컨트롤을 생성하는 메소드의 매개변수로
GUIStyle객체를 넣어서 스타일을 지정할 수 있다. - 
    
미리 만들어진 스타일들을 그대로 사용하거나,
GUIStyle생성자의 매개변수로 스타일을 집어넣어서 복제할 수 있다. - 
    
미리 만들어진 스타일들
GUI.skin.~EditorStyles.~
 
GUI.skin은 OnGUI 종류의 메소드에서만 호출할 수 있으므로
OnInspectorGUI()내에서 초기화해야 한다.
- 스트링 리터럴로 지정할 수도 있다.
 EditorStyles.~와 동일- https://gist.github.com/MadLittleMods/ea3e7076f0f59a702ecb
 
예제 1 : 버튼 스타일 지정
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private GUIStyleState buttonStyleState;
private GUIStyle buttonStyle;
public override void OnInspectorGUI()
{
    if(buttonStyleState == null)
        buttonStyleState = new GUIStyleState()
        {
            textColor = Color.yellow,
        };
    if(buttonStyle == null)
        buttonStyle = new GUIStyle(GUI.skin.button)
        {
            fontStyle = FontStyle.Bold,
            normal = buttonStyleState,
        };
    GUILayout.Button("Button", buttonStyle /*, Layouts */)
}
예제 2 : 토글 버튼
1
2
3
4
5
6
7
8
9
10
private bool toggle;
private GUIStyle toggleButtonStyle;
public override void OnInspectorGUI()
{
    if(toggleButtonStyle == null)
        toggleButtonStyle = new GUIStyle(GUI.skin.button);
    toggle = GUILayout.Toggle(toggle, "Toggle Button", toggleButtonStyle);
}
레이아웃 지정하기
- 
    
EditorGUILayout클래스로 GUI 요소를 생성할 때 매개변수로 넣어서
레이아웃을 지정할 수 있다. - 
    
GUILayout.~() 
1
GUILayout.Button("Button", GUILayout.Width(100f), GUILayout.Height(20f));