2018
01.03


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

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


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

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




에디터 스크립트는 반드시 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); 를 호출시킨다음,

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


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

COMMENT