1. 程式人生 > >Unity3D編輯器之重寫Hierarchy的右鍵菜單

Unity3D編輯器之重寫Hierarchy的右鍵菜單

col art n) 條件 any rect obj lan dga

 1 using UnityEngine;
 2 using UnityEditor;
 3 using System.Collections;
 4  
 5 public class MyHierarchyMenu
 6 {
 7     [MenuItem("Window/Test/yusong")]
 8     static void Test()
 9     {
10     }
11  
12     [MenuItem("Window/Test/momo")]
13     static void Test1()
14     {
15     }
16     [MenuItem("
Window/Test/雨松/MOMO")] 17 static void Test2() 18 { 19 } 20 21 22 [InitializeOnLoadMethod] 23 static void StartInitializeOnLoadMethod() 24 { 25 EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI; 26 } 27 28 static void OnHierarchyGUI(int instanceID, Rect selectionRect)
29 { 30 if (Event.current != null && selectionRect.Contains(Event.current.mousePosition) 31 && Event.current.button == 1 && Event.current.type <= EventType.mouseUp) 32 { 33 GameObject selectedGameObject = EditorUtility.InstanceIDToObject(instanceID) as
GameObject; 34 //這裏可以判斷selectedGameObject的條件 35 if (selectedGameObject) 36 { 37 Vector2 mousePosition = Event.current.mousePosition; 38 39 EditorUtility.DisplayPopupMenu(new Rect(mousePosition.x, mousePosition.y, 0, 0), "Window/Test",null); 40 Event.current.Use(); 41 } 42 } 43 } 44 45 }

原文鏈接:http://www.xuanyusong.com/archives/3893

Unity3D編輯器之重寫Hierarchy的右鍵菜單