• Unity3D研究院编辑器之重写Hierarchy的右键菜单


    Hierarchy视图中选择一个游戏对象以后通过右键可以打开一个unity默认菜单,一般情况下都可以满足我们,但是我想真对某些特殊的游戏对象而展开特殊的菜单。如下图所示,比如这样:

    代码:

    using UnityEngine;
    using UnityEditor;
    using System.Collections;
     
    public class MyHierarchyMenu
    {
    	[MenuItem("Window/Test/yusong")]
    	static void Test()
    	{
    	}
     
    	[MenuItem("Window/Test/momo")]
    	static void Test1()
    	{
    	}
    	[MenuItem("Window/Test/雨松/MOMO")]
    	static void Test2()
    	{
    	}
     
     
    	[InitializeOnLoadMethod]
    	 static void StartInitializeOnLoadMethod()
    	 {
    	     EditorApplication.hierarchyWindowItemOnGUI += OnHierarchyGUI;
    	 }
     
    	 static void OnHierarchyGUI(int instanceID, Rect selectionRect)
    	 {
    	     if (Event.current != null && selectionRect.Contains(Event.current.mousePosition)
    	         && Event.current.button == 1 && Event.current.type <= EventType.mouseUp)
    	     {
    	         GameObject selectedGameObject = EditorUtility.InstanceIDToObject(instanceID) as GameObject;
    			 //这里可以判断selectedGameObject的条件
    	         if (selectedGameObject)
    	         {
    				Vector2 mousePosition = Event.current.mousePosition;
     
    				EditorUtility.DisplayPopupMenu(new Rect(mousePosition.x, mousePosition.y, 0, 0), "Window/Test",null);
    	            Event.current.Use();
    	         }			
    	     }
    	 }
     
    }
    

      

    OK 欢迎大家在下面给我留言讨论。 如果你想改Project视图的右键菜单,原理也是一样的。

    Unity版本5.3.0

  • 相关阅读:
    P3254 圆桌问题
    P4868 Preprefix sum
    2021sd省选游记
    P4145 上帝造题的七分钟2 / 花神游历各国
    P2801 教主的魔法
    P4147 玉蟾宫(悬线法)
    P1944 最长括号匹配
    CF1214D Treasure Island
    Loadrunner与kylinPET的能力对比测试--web动态请求
    Summer——从头开始写一个简易的Spring框架
  • 原文地址:https://www.cnblogs.com/luxishi/p/6398917.html
Copyright © 2020-2023  润新知