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库,来实现可视化操作:编辑器扩展甚至 ...
随机推荐
- mui实现列表的下拉刷新上拉加载
1.引入mui控件的js文件和css样式文件 <link rel="stylesheet" href="css/mui.min.css"> < ...
- 范浩强treap——可持久化
当平衡树需要可持久化的时候,意味着我们需要访问以前的某个时间点的平衡树,就要保持以前的树形态不变,新建一个时间戳,构建一棵新的树. 如果用以前的旋转treap可能就不方便做到(又要打时间戳,又要新建节 ...
- 使用Mysql慢查询日志对有效率问题的SQL进行监控
输入命令:show variables like 'slow%' 可以发现 slow_query_log 为 OFF(默认),表示未开启慢查询日志 slow_query_log_file 为慢查询日志 ...
- GitHub官方Markdown语法教程
说明:Markdown随着编译器不一样,语法也都不一样,但这份GitHub提供的官方教程,基本学会这份就够了. https://guides.github.com/features/mastering ...
- Linux下添加静态路由表设置网关出现SIOCADDRT: Network is unreachable的问题分析
场景: # route add default gw 192.168.4.1 route: SIOCADDRT: Network is unreachable 解释: 1.先ping一下网关,但是pi ...
- iOS开发读取plist文件、iphone中plist文件的
在Xcode中建立一个iOS项目后,会自己产生一个.plist文件,点击时会看见它显示的是类似于excel表格: 但是,如果打开方式选择Source Code,你会看见它其实是一个xml文件. 我们会 ...
- mOByDiC E90C2600 EOBD/OBDII to RS232 gateway
http://www.ozenelektronik.com/downs/pdf/oe90c2600.pdf Features • Compatible with EOBD/OBDII standard ...
- Spring使用@Required注解依赖检查
Spring依赖检查 bean 配置文件用于确定的特定类型(基本,集合或对象)的所有属性被设置.在大多数情况下,你只需要确保特定属性已经设置但不是所有属性.. 对于这种情况,你需要 @Required ...
- R类
资源文件的使用分为在代码中使用和在其他资源文件中引用该资源文件.在我们编译一个Android应用时,Android会自动生成一个R类,在该类中根据不同的资源类型又生成了相应的内部类,该类包含了系统中使 ...
- 关闭OOMER
http://www.cnblogs.com/itfriend/archive/2011/12/14/2287160.html http://blog.csdn.net/gugemichael/art ...