コガネブログ

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

【Unity】Hierarchy ビューで右クリックされた時に表示されるメニューを独自に実装する

Unity は Hierarchy ビューで右クリックされた時に表示されるメニューをカスタマイズできないですが
独自に作成したメニューを表示させることは可能です

試しに Hierarchy ビューで Ctrl + Shift + クリックされた時に
独自に作成したメニューを表示するスクリプトを作成しました

このスクリプトを Unity プロジェクトの Editor フォルダに保存すると
Hierarchy ビューで Ctrl + Shift + クリックされた時に下記のようなメニューが表示されます

f:id:baba_s:20140804111212p:plain

EditorUtility.DisplayCustomMenu を使用すると自前でメニューを作成することが可能です

そして、EditorApplication.hierarchyWindowItemOnGUI という
Hierarchy ビューの OnGUI イベントで呼び出されるデリゲートが存在するので
このデリゲートに自前で作成したメニューを表示するコールバックを登録します

あとは、Event.current を使用して、Ctrl + Shift + クリックされた時に
自前で作成したメニューを表示するようにします