[Unity Editor] 편집을 확장하여 Scriptable Object의 자산을 오른쪽 단추로 클릭하면

컨디션


Unity2017.2.0f3
Windows 10

개시하다


Scriptable Object의 자산을 우클릭으로 만들 수 있도록 편집 확장을 시도했습니다.

소스 코드


다음 스크립트를 EDITOr 폴더 아래에 배치하십시오.
CreateScriptableObjectMenu.cs
namespace CreateScriptableObjectMenu
{
    using UnityEngine;
    using UnityEditor;

    /// <summary>
    /// 右クリックメニューからScriptableObjectを作成するエディター拡張
    /// </summary>
    public static class CreateScriptableObjectMenu
    {
        const string MENU_TEXT = "Assets/Create/ScriptableObject";

        [MenuItem(MENU_TEXT, false, 0)]
        static void CreateAsset()
        {
            var script = Selection.activeObject as MonoScript;
            string path = AssetDatabase.GetAssetPath(script);
            Create(script.GetClass(), path.Substring(0, path.Length - 3) + ".asset");
        }

        static void Create(System.Type type, string path)
        {
            ProjectWindowUtil.CreateAsset(ScriptableObject.CreateInstance(type), path);
        }

        [MenuItem(MENU_TEXT, true)]
        static bool ValidateCreateAsset()
        {
            var script = Selection.activeObject as MonoScript;
            if (script == null) { return false; }

            // 選択しているスクリプトがScriptableObjectかどうか
            return script.GetClass().IsSubclassOf(typeof(ScriptableObject));
        }
    }
}

사용법


Scriptable Object의 스크립트를 마우스 오른쪽 단추로 클릭하고Create/Scriptable Object를 선택한 후 자산을 생성합니다.



ScriptalbleObject 클래스 이외의 범주를 클릭할 때는 메뉴를 선택할 수 없습니다.

좋은 웹페이지 즐겨찾기