반응형

 

 - 해당오브젝트 인스펙터에 버튼을 만들기 입니다.

   1. 에디터 스크립트 만들기
   2. 에디터 스크립트에 Editor 상속하고 오버라이드 함수 활용하기 
   3. 인스펙터에 보일 스크립트 만들기 

 

 

 

 

 

   1. 에디터 스크립트 만들기

 

프로젝트 폴더 아무곳에 ItemEffectTriggerEditor .cs 와같이 c# 스크립트를 만듭니다.

경로는 아무상관없습니다.

 

 

  2. 에디터 스크립트에 Editor 상속하고 오버라이드 함수 활용하기 

using UnityEditor;  //Editor 클래스 사용하기 위해 넣어줍니다.
using UnityEngine;

 

 

 

// 오브젝트 인스펙터에 활용하는 클래스 이름을 넣습니다 . ex) [CustomEditor(typeof(오브젝트넣을 스크립트 클래스))] 

[CustomEditor(typeof(ItemEffectTrigger))] 
public class ItemEffectTriggerEditor : Editor //Monobehaviour 대신 Editor를 넣습니다.
{
    

    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

 

       //ItemEffectTrigger.cs 의 객체를 받아옵니다 => 이래야 버튼시 명령을 내릴수 잇습니다
        ItemEffectTrigger itemtrigger = (ItemEffectTrigger)target;

        EditorGUILayout.BeginHorizontal();  //BeginHorizontal() 이후 부터는 GUI 들이 가로로 생성됩니다.
        GUILayout.FlexibleSpace(); // 고정된 여백을 넣습니다. ( 버튼이 가운데 오기 위함)
        //버튼을 만듭니다 . GUILayout.Button("버튼이름" , 가로크기, 세로크기)

       if (GUILayout.Button("이펙트 실행", GUILayout.Width(120), GUILayout.Height(30))) 
        {

           //ItemEffectTrigger 클래스에서 버튼 누를시 해당 명령을 구현해줍니다.
            itemtrigger.Start_ItemEffect();
        }
        GUILayout.FlexibleSpace();  // 고정된 여백을 넣습니다.
        EditorGUILayout.EndHorizontal();  // 가로 생성 끝

    }
}

 

 

  3. 인스펙터에 보일 스크립트 만들기 

public class ItemEffectTrigger : MonoBehaviour
{
 


    public void Start_ItemEffect()
    {
        //구현내용
    }

 

}

 

 

 

 

 

-결과-

 

반응형

+ Recent posts