青空の月

Unity, C#, アプリ開発関連について。

InspectorのContextメニューを追加する

Inspectorのコンポーネント毎のコンテキストメニューを追加する方法。

 

コンポーネント名の行?を右クリックした時に表示されるコンテキストメニューを拡張する。

 Cameraに追加する場合はこう書くと、

[MenuItem("CONTEXT/Camera/This is Camera !!!!!!!!!!!!!!!!!!!")]
static void SelectCameraContext(MenuCommand command)
{

}
     

こう追加される

f:id:masa795:20130314131450p:plain

 

もちろん複数のメニューを追加するのもOK。

     [MenuItem("CONTEXT/Camera/This is Camera !!!!!!!!!!!!!!!!!!!")]
	 static void SelectCameraContext(MenuCommand command)
	 {

	 }

	 [MenuItem("CONTEXT/Camera/This is Camera Second !!!!!!!!!!!!!!!!!!!")]
	 static void SelectCameraSecondContext(MenuCommand command)
	 {

	 }

 

f:id:masa795:20130314131632p:plain

 

 

自作スクリプトにも追加可能。

f:id:masa795:20130314131750p:plain

     [MenuItem("CONTEXT/MyScript/This is MyScript !!!!!!!!!!!!!!!!!!!")]
	 static void SelectMyScriptContext(MenuCommand command)
	 {

	 }

 

スクリプトからコンポーネントを操作するにはこう書けばいい。(例:cameraのdepthを変更)

     [MenuItem("CONTEXT/Camera/This is Camera !!!!!!!!!!!!!!!!!!!")]
	 static void SelectCameraContext(MenuCommand command)
	 {
		 Camera camera = (Camera)command.context;
		 camera.depth = 20;
	 }

 

 

公式

http://docs.unity3d.com/Documentation/ScriptReference/MenuItem.html