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;}
//创建Actorpublic 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
转载于:https://www.cnblogs.com/123ing/p/4037192.html
Unity Editor Toolbar 编辑器扩展相关推荐
- Unity查找功能编辑器扩展Searcher
我的Github:https://github.com/LanslotChung/Unity3d-Editor-Extensions 专门在Github上记录我写的一些编辑器扩展工具,这是Search ...
- Unity Editor - 在编辑器模式下执行exe程序、打开文件、定位脚本行
执行exe程序.打开文件 当我们想在Unity 编辑器下 通过exe程序打开指定脚本时我们可以调用以下API 这里我是通过vscode 打开 lua 脚本 并定位到具体某一行. static void ...
- Unity编辑器扩展 UI控件篇
前摇 :认识编辑器扩展的必要性 由于各种各样的原因,无论是移动端亦或是主机/PC端,进几年的发行的游戏体量是越来越大.通常来说大体量的游戏开发需要一套很成熟完善的工作流,亦或说有很强的工业化的能力,像 ...
- Unity编辑器扩展——在Editor下动态添加监听事件
对于Unity下例如按钮这种我们可以为它的监听事件手动进行赋值 如果需要通过编辑器扩展来动态为这些监听事件赋值应该如何去实现呢? 首先需要确认的是这些监听事件必须要符合一定的规则才能添加上: 1.必须 ...
- Unity Editor 编辑器扩展一 编辑器特殊文件夹及内置资源读取
目录 目录 编辑器特殊文件夹及内置资源读取 编辑器相关文件夹 读取内置资源包 代码 Test1_1cs 代码Editor1_1cs 这个要放到Editor文件夹内 编辑器特殊文件夹及内置资源读取 使用 ...
- unity编辑器扩展#3 《Extending Unity with Editor Scripting 》笔记
#1 编辑器创建新场景 EditorApplication.SaveCurrentSceneIfUserWantsTo(); //打开是否保存场景的对话框 EditorApplication.NewS ...
- Unity编辑器扩展Texture显示选择框
学习NGUI插件的时候,突然间有一个问题为什么它这些属性可以通过弹出窗口来选中呢? 而我自己写的组件只能使用手动拖放的方式=.=. Unity开发了组件Inspector视图扩展API,如果我们要写插 ...
- Unity编辑器扩展之EditorWindow
Unity编辑器扩展之EditorWindow 继承这个类的编辑器脚本可以用来创建一个编辑器窗口,类似Inspector窗口 若要在这个类中添加一些控件,可以使用GUI和GUILayout控件,还可以 ...
- Unity3D Editor 编辑器扩展3 Editor脚本
Unity3D Editor 编辑器扩展3 Editor脚本 环境:Unity2017.2 语言:C# 总起: 在编辑Unity项目的时候,总不可能避免的接触到Unity自身自带的Inspector参 ...
最新文章
- SQL Server 2008_企业版和开发版产品密钥
- navicat不同数据库数据传输
- rocketmq 消息 自定义_跟我学RocketMQ[1-4]之消息消费及支持spring
- python递归和循环的区别_递归与伪递归区别,Python 实现递归与尾递归
- laravel-admin form中的switch控件 不改变状态提交后值为0
- 懒加载的3种实现方式
- Origin2018安装教程
- U盘插入计算机不显示图标,Win7下将U盘插入电脑后不显示图标的解决方法
- LTE:下行峰值速率计算
- Redis配置详解(转)
- Dubbo异常 Can not lock the registry cache file解决方案
- 高防CDN相比普通CDN的优势有哪些?
- Xshell登录后自动执行命令
- golang使用es提供搜索
- 一种关于封装好的压电传感器如何测量其压电系数及压电电荷
- 换个角度说makefile
- MVC 程序在编译时提示 GAC与 Temporary ASP.NET Files目录内引用文件版本不一致
- Windows下使用Objective-C
- win10显示连接不了服务器失败,win10系统玩CF提示“连接服务器失败”的操作方法...
- ios 开发艰难之路
热门文章
- 【PAT】2020年春季考试划水准备贴
- Struts2→拦截器、工作原理、拦截器计算Action执行时间、Struts2自带拦截器、拦截器栈
- JAVA输入输出IO流→File、RandomAccessFilse、字节流InputSream与OutputStream、字符流Reader与Writer、对象序列化Serializable
- android方法是对象吗,为什么android中对象不初始化也能调用方法?
- [计蒜客]T1853 非常男女
- 第九届蓝桥杯省赛C++A组第二题 ---星期一
- 利用SQL建立数据库
- Codeforces Round #468 (Div. 2): F. Teodor is not a liar!(DP)
- bzoj 1049: [HAOI2006]数字序列(DP+DP)
- bzoj 3504: [Cqoi2014]危桥(最大流)