[TIL] Unity CustomEditor 만들기

Dreamer·2024년 11월 4일

1. 오늘 주제

오늘 주제는 Inspector에서 테스트나 설정 변경 등 다양한 용도로 사용 할 수 있는 커스텀 기능을 붙이는 방법에 대해 알아본다. 기본적으로 버튼 정도는 쉽게 만들 수 있기 때문에 버튼만 만드는 걸 목표로 하고 나머지는 document를 참조하여 만들어 보자..

2. 코드

스크립트 파일은Assets/Scripts/Editor/InteractionModeToggleButton.cs 경로에 생성했다.

using UnityEditor;
using UnityEngine;

// CustomEditor Attribute에는 어떤 Component에 UI를 생성할 것 인지 Type을 정의해준다.
[CustomEditor(typeof(Interaction))]
public class InteractionModeToggleButton : Editor
{
	// 기본적으로 OnInspectorGUI 함수를 override 하여 실제 버튼 기능을 구현한다.
    public override void OnInspectorGUI()
    {
    	// 부모의 OnInspectorGUI는 앞에서 호출한번 해주도록 하자.
        base.OnInspectorGUI();
		
        // 조건에 따라 생성할지 말지 정 할 수 있기 때문에 지금 조건에서는 게임이 실행중 일때 버튼을 생성한다.
        if (Application.isPlaying)
        {
        	// GUILayout.Button 함수로 버튼을 생성하면서 `Toggle Mode` 이름을 붙여준다.
            if (GUILayout.Button("Toggle Mode"))
            {
            	//해당 조건문에 진입하면 실제 동작할 코드를 여기에 작성하면 된다.
                GameManager.Instance.ToggleBuildMode();
            }
        }
    }
}

스크립트를 빌드하여 게임을 실행시켜보면 다음과 같이 Toggle Mode라는 버튼이 생긴다.

다른 기능들은 document에 자세히 나와 있으니 한번 찾아보자!
https://docs.unity3d.com/kr/2023.2/Manual/editor-CustomEditors.html

profile
새로운 시작

0개의 댓글