본문 바로가기

Unity/Tips 13.05.06

[ 유니티(Unity 3D) 팁 ] Editor 스크립트에서 팝업창 띄우기

Editor 스크립트에서 팝업창 띄우기


Editor 스크립트란 빌드과정에 포함되지 않으며 게임 진행에 영향을 미치지 않는 스크립트를 말합니다.

주로 유니티상에서 툴을 제작할때 Editor 스크립트를 만들어 사용하게 되며, Editor 스크립트는 반드시 Asset 에 Editor 폴더

를 만든후 폴더안에 스크립트를 넣어야 정상적으로 동작합니다.




코드


using UnityEngine;

using UnityEditor;


public class MyWindow : EditorWindow {

  

    // "MyPopup" 라는 메뉴를 "MyMenu" 메뉴에 생성한다. MyMenu 라는 메뉴가 없으면 새로 생성한다.

    [MenuItem ("MyMenu/MyPopup")]

    static void Popup() { // static 붙여줘야 제대로 작동한다.

  // 기존에 만들어진 윈도우를 가져오고, 만약 없으면 새로 만든다.

        MyWindow window = (MyWindow)EditorWindow.GetWindow (typeof (MyWindow));

    }

 

// 이곳에서 팝업창 GUI 를 작성한다.

    void OnGUI () {

        GUILayout.Label ("Base Settings", EditorStyles.boldLabel);

    }

}




참고


//OnGUI 는 팝업창을 클릭했을때만 호출 된다.(Imput form 클릭시에는 호출 안됨)




만약 여러개의 팝업창을 띄우고 싶다면?

유니티에서는 하나의 팝업창을 만들기 위해서는 무조건 1개의 클래스가 필요하다.

여러개의 팝업창을 만들고 싶다면 팝업창 갯수만큼 클래스를 만들어줘야한다.

한개의 클래스 안에 팝업창 갯수만큼 서브클래스를 만들고 각각의 클래스 안에서 팝업창을 생성해주면 된다.



참고 사이트


http://docs.unity3d.com/Documentation/ScriptReference/EditorWindow.html