把此类放到 Editor下使用就OK

 using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor; /// <summary>
/// 添加鼠标右键事件
/// </summary>
[InitializeOnLoad]
[ExecuteInEditMode]
public static class AddMouseRight
{ static AddMouseRight()
{
SceneView.onSceneGUIDelegate = OnSceneFunc;
} private class Item
{
public string MenuName { get; set; }
public GenericMenu.MenuFunction2 Call { get; set; }
}
static List<Item> S_MenuList = new List<Item>();
public static void AddMenu(string menuName, GenericMenu.MenuFunction2 call)
{
Item item = new Item();
item.MenuName = menuName;
item.Call = call;
S_MenuList.Add(item);
} static void OnSceneFunc(SceneView sceneView)
{
if (S_MenuList.Count == )
{
return;
} if (Event.current.isMouse && Event.current.button == )
{
Vector3 p = Event.current.mousePosition; GenericMenu menu = new GenericMenu(); foreach(Item i in S_MenuList)
{
menu.AddItem(new GUIContent(i.MenuName), false, i.Call, p);
}
menu.ShowAsContext(); Event.current.Use();
}
} public static void Reset()
{
while(S_MenuList.Count > )
{
S_MenuList.RemoveAt();
}
} }

最新文章

  1. Aspose.Cells导出Excel(1)
  2. [从产品角度学excel 04]-单元格的“衣服”
  3. 2.EasyUI学习总结(二)——easyloader分析与使用(转载)
  4. HDU 5305 Friends (DFS,穷举+剪枝)
  5. MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明
  6. 遍历Map的几种方法
  7. Android万能分辨率适应法
  8. 使Web Api 支持跨域资源共享(CORS)
  9. C语言总结
  10. 06.十分钟学会表达式语言EL
  11. HDU 1979 Red and Black
  12. 节点操作,节点属性的操作及DOM event事件
  13. python functools.lru_cache做备忘功能
  14. 移动App设计的十条建议
  15. 从壹开始微服务 [ DDD ] 之十 ║领域驱动【实战篇&#183;中】:命令总线Bus分发(一)
  16. 【BZOJ3925】[ZJOI2015]地震后的幻想乡(动态规划)
  17. [Hinton] Neural Networks for Machine Learning - Bayesian
  18. [LeetCode] 619. Biggest Single Number_Easy tag: SQL
  19. 深入理解Spring的ImportSelector接口
  20. 使用 docker 创建自己的镜像

热门文章

  1. Linux的计划任务
  2. hdu-题目1159:Common Subsequence
  3. Linux下修改环境变量PATH
  4. 使用Appium上传/下载文件(push文件、pull文件)
  5. C++解析(10):struct和class的区别
  6. 洛谷 P2421 A-B数对(增强版)
  7. Eve-NG-Toolkit
  8. hive 一次性命令
  9. 洛谷 P2195 HXY造公园 解题报告
  10. Linux内核分析第二周--操作系统是如何工作的