Unity

[Unity] Custom Editor로 VR/None VR 전환 버튼 만들기

Guk-blog 2019. 7. 12. 11:49
728x90
반응형
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.UI;

#if(UNITY_EDITOR)
[CustomEditor(typeof(ModeChange))]
public class ModeChangeButton : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        ModeChange modeChange = (ModeChange)target;
        if (GUILayout.Button("VR Mode On/Off"))
        {
            modeChange.OnOff();
        }
    }
}
#endif

#if(UNITY_EDITOR)
public class ModeChange : MonoBehaviour
{
    public GameObject VRMode;
    public GameObject NormalMode;

    // Update is called once per frame
    public void OnOff()
    {
        if (VRMode.activeInHierarchy && NormalMode.activeInHierarchy)
        {
            VRMode.SetActive(true);
            NormalMode.SetActive(false);
            Debug.Log("VR MODE");
        }
        else if (!VRMode.activeInHierarchy)
        {
            VRMode.SetActive(true);
            NormalMode.SetActive(false);
            Debug.Log("VR MODE");
        }
        else
        {
            VRMode.SetActive(false);
            NormalMode.SetActive(true);
            Debug.Log("Normal Mode");
        }
    }
}
#endif

Editor단에서만 실행해야 하기 때문에 #if(Unity _Editor)를 반드시 넣어줘야한다

그리고 한 스크립트안에 다 때려박아서 모드 체인지 오브젝트에 붙여두면 완성

728x90
반응형