コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity のコンポーネントのアイコンを取得できる「EditorGUIUtility.ObjectContent」

はじめに

f:id:baba_s:20180223202923p:plain

var type = typeof( GameObject );
var content = EditorGUIUtility.ObjectContent( null, type )
var image = content.image;

「EditorGUIUtility.ObjectContent」を使用することで
Unity のコンポーネントのアイコンを取得できます

使用例

using UnityEditor;
using UnityEngine;

public class Example : EditorWindow
{
    [MenuItem( "Window/Example" )]
    private static void Init()
    {
        var win = GetWindow<Example>();
    }

    private void OnGUI()
    {
        GUILayout.BeginHorizontal();
        GUILayout.Box( EditorGUIUtility.ObjectContent( null, typeof( GameObject ) ).image );
        GUILayout.Box( EditorGUIUtility.ObjectContent( null, typeof( Transform ) ).image );
        GUILayout.Box( EditorGUIUtility.ObjectContent( null, typeof( Rigidbody ) ).image );
        GUILayout.Box( EditorGUIUtility.ObjectContent( null, typeof( BoxCollider ) ).image );
        GUILayout.Box( EditorGUIUtility.ObjectContent( null, typeof( Light ) ).image );
        GUILayout.EndHorizontal();
    }
}

参考サイト様