はじめに
MenuItemを用いることでUnityEditor画面の上の方にFileとかEditとかAssetsなどが並んでいるメニューに新しいメニューを追加することができます。
ただ実行されたくないメニューを実行できないようにする機能があるので紹介したいと思います。
本題
http://anchan828.github.io/editor-manual/web/part1-menuitem.html
こちらを参考にさせてもらいながら書いていきたいと思います。
新しいメニューを追加しようと思ったときにMenuItemを使うのですが、
[MenuItem("Window/SampleEditor")]
このように表記するとできました。
実はこのMenuItemには第2引数が存在して、これをtrueとfalseにしてみました。
using UnityEngine; using UnityEditor; public class SampleEditor : EditorWindow { [MenuItem("Window/SampleEditor/child1",true)] static void Hoge1() { } [MenuItem("Window/SampleEditor/child2", false)] static void Hoge2() { } }
こんな感じに第2引数をtrueにすると表示されないようになりました。
これをうまく利用すると、
using UnityEngine; using UnityEditor; public class SampleEditor : EditorWindow { [MenuItem("Window/SampleEditor/child1")] static void Hoge1() { } [MenuItem("Window/SampleEditor/child1",true)] static bool ValidateHoge1() { return false; } [MenuItem("Window/SampleEditor/child2", false)] static void Hoge2() { } }
こんな感じに見えるけれど押せないメニューを作成することができました。
さいごに
これをうまく利用すればきっとなにかに役に立つと思います。