Editor 에디터 인스펙터에 버튼 만들기


아래의 에디터 스크립트는 별도로 동작하지 않으며,

원본이 되는 스크립트가 있고, 원본 스크립트가 사용되었다면 인스펙터에 버튼을 생성하는 스크립트이다. 


해당 버튼을 통해 원본 스크립트의 함수를 호출할수 있다.

주로 데이터의 저장 / 삭제를 할당하여 테스트용으로 사용한다.




에디터 스크립트는 반드시 Editor라는 이름의 폴더에 넣어야한다. (빌드시에 포함되지않음)

(최상위 폴더의 Editor가 아니더라도 하위에있는 Editor 폴더 아래에만 있으면 된다.)



using UnityEngine;

using System.Collections;

using UnityEditor;


[CustomEditor(typeof(클래스명))]

public class 클래스명 : Editor

{

public override void OnInspectorGUI()

{

DrawDefaultInspector();


클래스명 myScript = (클래스명)target;

if(GUILayout.Button("버튼이름"))

{

myScript.메소드명();

}

}

}




예를들어서 PlayerPref로 저장시스템을 구축했을 때,

해당 데이터를 삭제한 상태에서 테스트 하고 싶을 때가 있다.


그럴경우 함수 하나를 만들고 그 속에 PlayerPref.DeleteKey(string key); 를 호출시킨다음,

에디터 스크립트를 통해 그 함수를 호출하면 인스펙터에서 버튼만 눌러도 삭제가 된다!


이는 저장도 마찬가지. 버튼을 두개 만들면된다.

댓글

Designed by JB FACTORY