Unity Editor Toolbar 编辑器扩展
http://www.cnblogs.com/zhaoqingqing/p/3812368.html
1、Apply to Prefab [把改动应用到Prefab]

if (GUILayout.Button("Apply Collider To Prefab"))
{
PrefabUtility.ReplacePrefab(simActor.Preview, PrefabUtility.GetPrefabParent(simActor.Preview), ReplacePrefabOptions.ConnectToPrefab);
}
2、Current SceneView Center Position :获取Scene中间坐标
比如每次 New Actor时,都出现在Scene视图的中间

SceneView.onSceneGUIDelegate -= OnCustomSceneGUI;
void OnCustomSceneGUI(SceneView sceneview)
{
SceneViewPos = sceneview.pivot;
}
//创建Actor
public void CreateMapActor()
{
GameObject gameLogic = GameObject.Find("MapLogic");
GameObject newActor = GameObject.CreatePrimitive(PrimitiveType.Sphere);
newActor.name = "Actor-" + UnityEngine.Random.Range(1, 999999);
CBaseTool.SetChild(newActor.transform, gameLogic.transform);
Selection.activeGameObject = newActor;
CSimActor simActor = newActor.AddComponent<CSimActor>();
newActor.transform.position = SceneViewPos;
}
3、Scene Context Menu[场景视图右键菜单]
可以参考NGUI的 UIWidgetContainerEditor. NGUIEditorTools.ShowSpriteSelectionMenu(e.mousePosition); 我这儿实现的,还没有做处理
using UnityEngine;
using UnityEditor; [InitializeOnLoad]
[ExecuteInEditMode]
public class MySceneContext : MonoBehaviour
{ void Update()
{
SceneView.onSceneGUIDelegate = SceneContext;
} void SceneContext(SceneView sceneview)
{
if (Selection.activeTransform == null) return;
Transform selectTrans = Selection.activeTransform;
Vector3 curPos = selectTrans.position; Event evt = Event.current;
if (evt.type == EventType.ContextClick)
{
GenericMenu menu = new GenericMenu();
menu.AddItem(new GUIContent("MenuItem1"), false, CallBack, "item 1");
menu.AddItem(new GUIContent("MenuItem2"), false, CallBack, "item 2");
menu.ShowAsContext();
evt.Use();
}
} void CallBack(object userData)
{ }
}
4、Inspector Context Menu

[MenuItem("CONTEXT/Transform/MyContext1")]
public static void MyContext(MenuCommand command)
{
CBase.Log("context menu");
}
参见:http://docs.unity3d.com/ScriptReference/MenuCommand-context.html
http://answers.unity3d.com/questions/22947/adding-to-the-context-menu-of-the-hierarchy-tab.html
The CONTEXT/{string} seems to work for components within the Inspector
同时可查看 NGUI\Editor\NGUIContextMenu.cs
Asset Store工具推荐:https://www.assetstore.unity3d.com/en/#!/content/10424
Unity Editor Toolbar 编辑器扩展的更多相关文章
- Unity Editor Console Pro 扩展点击定位到外部工程
链接 http://blog.csdn.net/akof1314/article/details/53232981 http://forum.china.unity3d.com/thread-2689 ...
- unity打包选项编辑器扩展
using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using System.IO; public class Pos ...
- Unity编辑器扩展Texture显示选择框
学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=. Unity开发了组件Inspector视图扩展API,如果我们要写插 ...
- Unity 3D编辑器扩展介绍、教程(二) —— 创建窗口
Unity编辑器扩展教程(二) 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Brief Introd ...
- Unity 3D编辑器扩展介绍、教程(一) —— 创建菜单项
Unity编辑器扩展教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 一 Brief Introduct ...
- Unity编辑器扩展 Chapter7--使用ScriptableObject持久化存储数据
Unity编辑器扩展 Chapter7--使用ScriptableObject持久化存储数据 unity unity Editor ScirptableObject Unity编辑器扩展 Chapt ...
- Unity编辑器扩展chapter1
Unity编辑器扩展chapter1 unity通过提供EditorScript API 的方式为我们提供了方便强大的编辑器扩展途径.学好这一部分可以使我们学会编写一些工具来提高效率,甚至可以自制一些 ...
- Unity 编辑器扩展
自定义检视面板的使用: 先是定义一个脚本文件,我们来修饰它的检视面板: [HelpURL("http://www.baidu.com")] public class Atr : M ...
- unity 编辑器扩展简单入门
unity 编辑器扩展简单入门 通过使用编辑器扩展,我们可以对一些机械的操作实现自动化,而不用使用额外的环境,将工具与开发环境融为一体:并且,编辑器扩展也提供GUI库,来实现可视化操作:编辑器扩展甚至 ...
随机推荐
- bzoj 3685: 普通van Emde Boas树
3685: 普通van Emde Boas树 Description 设计数据结构支持:1 x 若x不存在,插入x2 x 若x存在,删除x3 输出当前最小值,若不存在输出-14 输出当 ...
- bzoj 3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 -- 最大生成树
3390: [Usaco2004 Dec]Bad Cowtractors牛的报复 Time Limit: 1 Sec Memory Limit: 128 MB Description 奶牛贝 ...
- Apache -- XAMPP Apache 无法启动原因及解决方法
XAMPP Apache 无法启动原因1(缺少VC运行库): 这个就是我遇到的问题原因,下载安装的XAMPP版本是xampp-win32-1.7.7-VC9,而现有的Windows XP系统又没有安装 ...
- Swift 闭包反向传值
Swift中闭包反向传值 1.第二控制器申明一个闭包类型 typealias BackBlock = (String) -> Void 2.第二控制器定义一个变量 var BackBlockCl ...
- Shell基础学习(一) Shell简介
Shell是什么? Shell是C语言编写的一种程序,用于用户与linux操作系统交互:Shell既是命令语言,又是程序设计语言. Shell脚本是什么? Shell脚本是用Shell编写的脚本程序. ...
- 从网络得到数据--Arduino+以太网
昨天我们讨论了如何使用Arduino以太网插板建立服务器,并通过网络控制Arduino的引脚.今天我们来看看用插板做为客户端来从一个网页上得到信息并返回报告.我几个月前用的这个方法,当时我做了一个Ni ...
- Java-方法的覆写
class parent { void print() { System.out.println("parent"); } } class child extends p ...
- System.Threading.Tasks.Task 任务引起的IIS应用程序池崩溃
转载:http://www.cnblogs.com/aaa6818162/p/4421305.html 问题现象 IIS应用程序池崩溃(Crash)的特征如下: 1. 从客户端看,浏览器一直处于连接状 ...
- [js插件]JqueryUI日期插件
引言 之前使用jqueryUi中的弹出框做了一个可拖拽的弹出登录框,也顺便将里面的常用的日期插件和文本框智能提示插件,也学习了一下. 使用方法 首先在项目中引入以下文件: <!-- 日期插件 默 ...
- [翻译] JFDepthView 给view提供3D景深
JFDepthView 给view提供3D景深 https://github.com/atljeremy/JFDepthView This is an iOS project for presenti ...