【Unity】【エディタ拡張】カスタムエディタウィンドウ用コードテンプレート

自分用メモ。 随時更新。

ソースコード

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class BasicWindow : EditorWindow {

    [MenuItem("Window/Basic Window")]
    private static void Open()
    {
        GetWindow<BasicWindow>("Basic Window");
    }
    
    private void OnGUI()
    {
        DrawToolbar();
    }

    /// <summary>
    /// ツールバーを描画する
    /// </summary>
    private void DrawToolbar()
    {
        EditorGUILayout.BeginHorizontal( EditorStyles.toolbar, GUILayout.ExpandWidth( true ) );
        {
            GUILayout.Button("button", EditorStyles.toolbarButton);
            GUILayout.Toggle(true, "toggle", EditorStyles.toolbarButton);
            EditorGUILayout.IntPopup( 0, new string[] { "popup" }, new int[] { 0 }, EditorStyles.toolbarPopup);
            EditorGUILayout.IntPopup( 0, new string[] { "dropdown" }, new int[] { 0 }, EditorStyles.toolbarDropDown);
            EditorGUILayout.TextField( "", EditorStyles.toolbarTextField, GUILayout.Width( 150 ) );
        }
        EditorGUILayout.EndHorizontal();
    }

    /// <summary>
    /// Selectionが切り替わった時に呼ばれる
    /// </summary>
    private void OnSelectionChange()
    {
        Debug.Log(Selection.activeObject);

            // 表示内容を変更し、即座に反映したい場合にはRepaint()
            Repaint();
    }
}

結果

f:id:halya_11:20180223124509p:plain